Submission #61234

#TimeUsernameProblemLanguageResultExecution timeMemory
61234istleminGap (APIO16_gap)C++14
70 / 100
100 ms3060 KiB
#include "gap.h" #include<bits/stdc++.h> using namespace std; #define rep(i,a,b) for(int i = a; i<int(b);++i) #define all(v) v.begin(),v.end() #define sz(v) v.size() #define trav(a,c) for(auto a: c) typedef long long ll; typedef vector<ll> vi; typedef pair<ll,ll> pii; void ask(ll l,ll r, ll *mn,ll *mx){ ll ansMn,ansMx; MinMax(l,r-1,&ansMn,&ansMx); (*mn) = ansMn; (*mx) = ansMx; } long long findGap(int T, int N) { ll t = T; ll n = N; ll dn,up; ask(-1,2e18,&dn,&up); vi a; a.push_back(dn); a.push_back(up); ++dn; vi endPoints; endPoints.push_back(dn); ll numGroups = n/2+1; rep(i,0,numGroups){ if(i<(up-dn)%numGroups) endPoints.push_back(endPoints[endPoints.size()-1]+(up-dn)/numGroups+1); else endPoints.push_back(endPoints[endPoints.size()-1]+(up-dn)/numGroups); } rep(i,0,numGroups){ ll l = endPoints[i]; ll r = endPoints[i+1]; ll mn,mx; ask(l,r,&mn,&mx); if(mn==-1) continue; a.push_back(mn); a.push_back(mx); } sort(all(a)); ll mxGap = 0; rep(i,0,a.size()-1) mxGap = max(mxGap,a[i+1]-a[i]); //cout<<"yes"<<endl; return mxGap; return 0; }

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:23:8: warning: unused variable 't' [-Wunused-variable]
     ll t = T;
        ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...