Submission #1179936

#TimeUsernameProblemLanguageResultExecution timeMemory
1179936user736482The Kingdom of JOIOI (JOI17_joioi)C++20
0 / 100
0 ms320 KiB
#pragma GCC optimize("O3")
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ld long double
#define pb push_back
#define ff first
#define ss second
#define MOD 1000000009
#define INF 1000000019
#define INFL 1000000000000000099LL

ll n,q,s,t,a,b,c,d,ans,k,m;
ll co[2007][2007];
ll mn=INFL,mx;

bool czy(ll x){
    for(ll i=0;i<n;i++){
        ll l1=INF,r1=0,l2=INF,r2=0;
        for(ll j=0;j<m;j++){
            if(co[i][j]-mn>x){
                l1=min(l1,j);
                r1=max(r1,j);
            }
            if(mx-co[i][j]>x){
                l2=min(l2,j);
                r2=max(r2,j);
            }
        }
        if(r1>=l2 && r2>=l1)
            return 0;
    }
    return 1;
}

int main()
{
    ios_base::sync_with_stdio(0);cin.tie(0);
    cin>>n>>m;
    for(ll i=0;i<n;i++){
        for(ll j=0;j<m;j++){
            cin>>co[i][j];
            mn=min(mn,co[i][j]);
            mx=max(mx,co[i][j]);
        }
    }
    ll pocz=0;
    ll kon=1000000000;
    while(pocz!=kon){
        ll mid=(pocz+kon)/2;
        if(czy(mid))
            kon=mid;
        else
            pocz=mid+1;
    }
    cout<<pocz;
}

#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...