Submission #1194057

#TimeUsernameProblemLanguageResultExecution timeMemory
1194057nouka28Gap (APIO16_gap)C++20
70 / 100
51 ms5220 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; #define int long long #define rep(i,n) for(int i=0;i<(n);i++) #define rng(i,l,r) for(int i=(l);i<(r);i++) #define rrep(i,n) for(int i=(n)-1;i>=0;i--) #define rrng(i,l,r) for(int i=(r)-1;i>=(l);i--) #define fi first #define se second #define all(x) (x).begin(),(x).end() long long findGap(signed T, signed N) { int mn,mx; MinMax(1LL,1000000000000000000LL,&mn,&mx); if(N==2){ return mx-mn; } int t=mx-mn-1; vector<int> d(N-2); for(auto&&e:d)e=t/(N-2); t-=accumulate(all(d),0LL); for(auto&&e:d)if(t){t--,e++;} vector<pair<int,int>> vs={{mn,mn+d[0]}}; vector<int> a={mn,mx}; rep(i,N-2){ if(i){ vs.push_back({vs.back().se+1,vs.back().se+1+d[i]}); } auto[l,r]=vs.back(); MinMax(l,r,&mn,&mx); if(mn==-1)continue; a.push_back(mn),a.push_back(mx); } sort(all(a)); int ans=-1; rep(i,a.size()-1)ans=max(ans,a[i+1]-a[i]); return ans; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...