Submission #396800

#TimeUsernameProblemLanguageResultExecution timeMemory
396800keta_tsimakuridzeThe Kingdom of JOIOI (JOI17_joioi)C++14
100 / 100
1354 ms95156 KiB
#include<bits/stdc++.h> #define f first #define s second using namespace std; const int N=2e3+5,mod=1e9+7; int t,a[N][N],r[N],l[N],n,m,ans; map<int,int> fix; vector<int> val,val1; string s; bool check(int mx1){ int diff=mx1-val[0]; for(int i=1;i<=n;i++) { l[i]=m+1; r[i]=0; } for(int i=1;i<=n;i++) { for(int j=m;j>=1;j--){ if(a[i][j]>mx1) l[i] = j - 1; } for(int j=1;j<=m;j++){ if(a[i][j]+diff<val.back()) r[i] = j ; } // [r[i] , l[i]) if(l[i]<r[i]) return 0; } int F=0; int cur=m; for(int i=1;i<=n;i++) { if(r[i]>cur) { F=1; break; } cur = min(l[i],cur); } if(!F) return 1; F=0; cur=0; for(int i=1;i<=n;i++) { if(l[i]<cur) { F=1; break; } cur = max(r[i],cur); } if(!F) return 1; return 0; } void search(){ int l = 0,r =1e9+9; while(l<=r){ int mid=(l+r)/2; if(check(mid)) { ans =min(ans, (mid-val[0])); r=mid-1; } else l=mid+1; } } main(){ ios_base::sync_with_stdio(false),cin.tie(0),cout.tie(0); // t=1; cin>>n>>m; for(int i=1;i<=n;i++){ for(int j=1;j<=m;j++){ cin >> a[i][j]; val1.push_back(a[i][j]); } } sort(val1.begin(),val1.end()); for(int i=0;i<val1.size();i++){ if(!i || val1[i]!=val1[i-1]) val.push_back(val1[i]); } ans=val.back()-val[0]; search(); for(int i=1;i<=n;i++){ for(int j=1;j<=m/2;j++){ swap(a[i][j],a[i][m-j+1]); } } search(); cout<<ans; }

Compilation message (stderr)

joioi.cpp:59:7: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   59 |  main(){
      |       ^
joioi.cpp: In function 'int main()':
joioi.cpp:71:15: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   71 |  for(int i=0;i<val1.size();i++){
      |              ~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...