Submission #235989

# Submission time Handle Problem Language Result Execution time Memory
235989 2020-05-30T15:20:52 Z cfalas Quality Of Living (IOI10_quality) C++14
100 / 100
3658 ms 120904 KB
#include "quality.h"
#include<bits/stdc++.h>
using namespace std;
#define MID (l+r)/2

int rectangle(int n, int m, int P, int q, int a[3001][3001]){
	int l=0, r=n*m+1;
	int mm;
	while(l<=r){
		int b[n][m] = {};
		for(int i=0;i<n;i++){
			for(int j=0;j<m;j++){
				if(a[i][j]>MID) b[i][j] = 1;
				else if(a[i][j]<MID) b[i][j]=-1;
			}
		}
		int p[n+1][m+1] = {};
		for(int i=1;i<=n;i++){
			for(int j=1;j<=m;j++){
				p[i][j] = p[i-1][j] + p[i][j-1] - p[i-1][j-1] + b[i-1][j-1];
			}
		}
		bool poss = false;
		for(int i=P;i<=n;i++){
			for(int j=q;j<=m;j++){
				if(p[i][j] - p[i-P][j] - p[i][j-q] + p[i-P][j-q] <= 0) poss = true;
			}
		}
		if(poss) mm = MID, r = MID-1;
		else l = MID+1;
	}
	return mm;
}

Compilation message

quality.cpp: In function 'int rectangle(int, int, int, int, int (*)[3001])':
quality.cpp:32:9: warning: 'mm' may be used uninitialized in this function [-Wmaybe-uninitialized]
  return mm;
         ^~
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 8 ms 896 KB Output is correct
5 Correct 7 ms 896 KB Output is correct
6 Correct 8 ms 896 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 8 ms 896 KB Output is correct
5 Correct 7 ms 896 KB Output is correct
6 Correct 8 ms 896 KB Output is correct
7 Correct 34 ms 3072 KB Output is correct
8 Correct 33 ms 3072 KB Output is correct
9 Correct 31 ms 2944 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 8 ms 896 KB Output is correct
5 Correct 7 ms 896 KB Output is correct
6 Correct 8 ms 896 KB Output is correct
7 Correct 34 ms 3072 KB Output is correct
8 Correct 33 ms 3072 KB Output is correct
9 Correct 31 ms 2944 KB Output is correct
10 Correct 382 ms 22776 KB Output is correct
11 Correct 365 ms 22776 KB Output is correct
12 Correct 186 ms 13560 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 5 ms 384 KB Output is correct
2 Correct 5 ms 512 KB Output is correct
3 Correct 5 ms 512 KB Output is correct
4 Correct 8 ms 896 KB Output is correct
5 Correct 7 ms 896 KB Output is correct
6 Correct 8 ms 896 KB Output is correct
7 Correct 34 ms 3072 KB Output is correct
8 Correct 33 ms 3072 KB Output is correct
9 Correct 31 ms 2944 KB Output is correct
10 Correct 382 ms 22776 KB Output is correct
11 Correct 365 ms 22776 KB Output is correct
12 Correct 186 ms 13560 KB Output is correct
13 Correct 3658 ms 120892 KB Output is correct
14 Correct 3653 ms 120904 KB Output is correct
15 Correct 3299 ms 111172 KB Output is correct