# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
243815 | 2020-07-01T21:02:16 Z | ctziapo | Quality Of Living (IOI10_quality) | C++14 | 3083 ms | 142348 KB |
#include <stdio.h> #include <stdlib.h> #include "quality.h" #include <vector> #include <algorithm> #include <iostream> using namespace std; int rectangle(int R, int C, int H, int W, int a[3001][3001]) { int n=R; int m=C; int h=H; int w=W; int ans=n*m; int l=1; int r=n*m; while(l<=r){ int mid=(l+r)/2; // p(mid); int f[n+3][m+3]={}; for(int i=0;i<n;i++){ for(int j=0;j<m;j++){ if(a[i][j]<mid){ f[i+1][j+1]=-1; } else if(a[i][j]>mid) f[i+1][j+1]=1; else f[i+1][j+1]=0; } } int pr[n+2][m+2]={}; for(int i=1;i<=n;i++){ int p2=0; for(int j=1;j<=m;j++){ p2+=f[i][j]; if(i!=0){ pr[i][j]=pr[i-1][j]+p2; } else pr[i][j]=p2; } } /* cout<<"f"<<endl; cout<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<f[i][j]<<" "; } cout<<endl; } cout<<endl; cout<<endl; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cout<<pr[i][j]<<" "; } cout<<endl; } cout<<endl; // p(mid); */ int zero=0; int neg=0; int pos=0; for(int i=h;i<=n;i++){ for(int j=w;j<=m;j++){ int p=pr[i][j] - pr[i-h][j] - pr[i][j-w] + pr[i-h][j-w]; // cout<<"dd "<<pr[i][j] - pr[i-h][j] - pr[i][j-w] + pr[i-h][j-w]<<endl; // cout<<"dd2 "<<i<<" "<<j <<" "<<i-h+1<<" "<<j-w+1 <<endl; if(p>0) pos=1; if(p<0) neg=1; if(p==0) zero=1; } } if(zero==1){ ans=min(ans,mid); } if(neg==1){ r=mid-1; } else l=mid+1; } // p(ans); return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 512 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 896 KB | Output is correct |
5 | Correct | 7 ms | 896 KB | Output is correct |
6 | Correct | 7 ms | 896 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 896 KB | Output is correct |
5 | Correct | 7 ms | 896 KB | Output is correct |
6 | Correct | 7 ms | 896 KB | Output is correct |
7 | Correct | 30 ms | 3072 KB | Output is correct |
8 | Correct | 32 ms | 3072 KB | Output is correct |
9 | Correct | 27 ms | 2944 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 896 KB | Output is correct |
5 | Correct | 7 ms | 896 KB | Output is correct |
6 | Correct | 7 ms | 896 KB | Output is correct |
7 | Correct | 30 ms | 3072 KB | Output is correct |
8 | Correct | 32 ms | 3072 KB | Output is correct |
9 | Correct | 27 ms | 2944 KB | Output is correct |
10 | Correct | 326 ms | 23044 KB | Output is correct |
11 | Correct | 326 ms | 22904 KB | Output is correct |
12 | Correct | 173 ms | 13560 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 5 ms | 512 KB | Output is correct |
2 | Correct | 5 ms | 384 KB | Output is correct |
3 | Correct | 5 ms | 512 KB | Output is correct |
4 | Correct | 7 ms | 896 KB | Output is correct |
5 | Correct | 7 ms | 896 KB | Output is correct |
6 | Correct | 7 ms | 896 KB | Output is correct |
7 | Correct | 30 ms | 3072 KB | Output is correct |
8 | Correct | 32 ms | 3072 KB | Output is correct |
9 | Correct | 27 ms | 2944 KB | Output is correct |
10 | Correct | 326 ms | 23044 KB | Output is correct |
11 | Correct | 326 ms | 22904 KB | Output is correct |
12 | Correct | 173 ms | 13560 KB | Output is correct |
13 | Correct | 3083 ms | 142348 KB | Output is correct |
14 | Correct | 3069 ms | 142328 KB | Output is correct |
15 | Correct | 2809 ms | 130100 KB | Output is correct |