Submission #1272168

#TimeUsernameProblemLanguageResultExecution timeMemory
1272168AvianshGap (APIO16_gap)C++20
100 / 100
39 ms3236 KiB
#include "gap.h"

#include <bits/stdc++.h>

using namespace std;

long long findGap(int t, int n)
{
    if(t==1){
        long long arr[n];
        long long s = 0;
        long long t = 1e18;
        for(int i = 0;i<(n+1)/2;i++){
            MinMax(s,t,&arr[i],&arr[n-i-1]);
            s=arr[i]+1;
            t=arr[n-i-1]-1;
        }
        long long ans = 0;
        for(int i = 0;i<n-1;i++){
            ans=max(ans,arr[i+1]-arr[i]);
        }
        return ans;
    }
    else if(t==2){
        long long mn,mx;
        MinMax(0,1e18,&mn,&mx);
        long long ans = max(1LL,(mx-mn)/(n-1));
        long long l = mn+1;
        long long las = mn;
        while(l<=mx){
            long long cmn,cmx;
            MinMax(l,l+ans-1,&cmn,&cmx);
            l=l+ans;
            ans=max(ans,cmn-las);
            las=max(las,cmx);
        }
        return ans;
    }
}

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:39:1: warning: control reaches end of non-void function [-Wreturn-type]
   39 | }
      | ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...