Submission #958099

# Submission time Handle Problem Language Result Execution time Memory
958099 2024-04-04T22:38:13 Z ThegeekKnight16 Quality Of Living (IOI10_quality) C++17
100 / 100
1712 ms 176140 KB
#include <bits/stdc++.h>
#include "quality.h"
using namespace std;

bool Teste(int x, vector<vector<int>> &Q, int R, int C, int H, int W)
{
	vector<vector<int>> S(R+1, vector<int>(C+1));
	for (int i = 1; i <= R; i++)
		for (int j = 1; j <= C; j++)
			S[i][j] = (int)(Q[i][j] <= x) + S[i][j-1] + S[i-1][j] - S[i-1][j-1];

	for (int i = H; i <= R; i++)
		for (int j = W; j <= C; j++)
			if (S[i][j] - S[i][j-W] - S[i-H][j] + S[i-H][j-W] >= (H*W + 1)/2)
				return true;

	return false;
}


int rectangle(int R, int C, int H, int W, int _Q[3001][3001])
{
	vector<vector<int>> Q(R+1, vector<int>(C+1));
	for (int i = 0; i < R; i++)
		for (int j = 0; j < C; j++)
			Q[i+1][j+1] = _Q[i][j];

	int ini = 1, fim = R*C;
	while (ini < fim)
	{
		int m = (ini + fim) >> 1;
		if (Teste(m, Q, R, C, H, W)) fim = m;
		else ini = m+1;
	}
	return fim;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 2 ms 2652 KB Output is correct
5 Correct 2 ms 2600 KB Output is correct
6 Correct 2 ms 2652 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 2 ms 2652 KB Output is correct
5 Correct 2 ms 2600 KB Output is correct
6 Correct 2 ms 2652 KB Output is correct
7 Correct 14 ms 5852 KB Output is correct
8 Correct 14 ms 5868 KB Output is correct
9 Correct 12 ms 6004 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 2 ms 2652 KB Output is correct
5 Correct 2 ms 2600 KB Output is correct
6 Correct 2 ms 2652 KB Output is correct
7 Correct 14 ms 5852 KB Output is correct
8 Correct 14 ms 5868 KB Output is correct
9 Correct 12 ms 6004 KB Output is correct
10 Correct 168 ms 27552 KB Output is correct
11 Correct 161 ms 27480 KB Output is correct
12 Correct 78 ms 20164 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 2392 KB Output is correct
2 Correct 1 ms 2396 KB Output is correct
3 Correct 1 ms 2396 KB Output is correct
4 Correct 2 ms 2652 KB Output is correct
5 Correct 2 ms 2600 KB Output is correct
6 Correct 2 ms 2652 KB Output is correct
7 Correct 14 ms 5852 KB Output is correct
8 Correct 14 ms 5868 KB Output is correct
9 Correct 12 ms 6004 KB Output is correct
10 Correct 168 ms 27552 KB Output is correct
11 Correct 161 ms 27480 KB Output is correct
12 Correct 78 ms 20164 KB Output is correct
13 Correct 1712 ms 176140 KB Output is correct
14 Correct 1618 ms 175976 KB Output is correct
15 Correct 1526 ms 161740 KB Output is correct