(UPD: 2024-12-04 14:48 UTC) Judge is not working due to Cloudflare incident. (URL) We can do nothing about it, sorry. After the incident is resolved, we will grade all submissions.

Submission #591682

#TimeUsernameProblemLanguageResultExecution timeMemory
591682ogibogi2004Quality Of Living (IOI10_quality)C++14
100 / 100
1795 ms210664 KiB
#include "quality.h" #include<bits/stdc++.h> using namespace std; const int MAXN=3001; int table[MAXN][MAXN]; int t1[MAXN][MAXN]; int h,w,r,c; char dirs[3*MAXN]; int pref[MAXN][MAXN]; bool check(int val) { for(int i=0;i<r;++i) { for(int j=0;j<c;++j) { if(table[i][j]<=val)t1[i][j]=1; else t1[i][j]=0; } } pref[0][0]=t1[0][0]; for(int i=1;i<r;i++)pref[i][0]=pref[i-1][0]+t1[i][0]; for(int i=1;i<c;i++)pref[0][i]=pref[0][i-1]+t1[0][i]; for(int i=1;i<r;i++) { for(int j=1;j<c;j++) { pref[i][j]=t1[i][j]+pref[i-1][j]+pref[i][j-1]-pref[i-1][j-1]; } } for(int i=0;i<=r-h;i++) { for(int j=0;j<=c-w;j++) { int cnt=pref[i+h-1][j+w-1]; if(i!=0)cnt-=pref[i-1][j+w-1]; if(j!=0)cnt-=pref[i+h-1][j-1]; if(i!=0&&j!=0)cnt+=pref[i-1][j-1]; if(cnt>h*w/2)return 1; } } return 0; } int rectangle(int R, int C, int H, int W, int Q[3001][3001]) { r=R;c=C;h=H;w=W; for(int j=0;j<c-w;j++)dirs[j]='R'; dirs[c-w]='D'; for(int j=c-w+1;j<(c-w+1)+c-w;j++)dirs[j]='L'; dirs[(c-w+1)+c-w]='D'; for(int i=0;i<R;++i) { for(int j=0;j<C;++j) { table[i][j]=Q[i][j]; } } int low=1,high=R*C,mid,best; while(low<=high) { mid=(low+high)/2; if(check(mid)) { best=mid; high=mid-1; } else low=mid+1; } return best; }

Compilation message (stderr)

quality.cpp: In function 'int rectangle(int, int, int, int, int (*)[3001])':
quality.cpp:69:12: warning: 'best' may be used uninitialized in this function [-Wmaybe-uninitialized]
   69 |     return best;
      |            ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...