Submission #32209

#TimeUsernameProblemLanguageResultExecution timeMemory
32209dongwon0427Gap (APIO16_gap)C++98
100 / 100
106 ms8304 KiB
#include "gap.h" #define MAX 1000000000000000000 #include <bits/stdc++.h> using namespace std; typedef long long ll; ll findGap(int T, int N) { if(T==1) { ll a=0,b=MAX,c,d; vector<ll> v; for(int i=1;i<=(N+1)/2;i++) { if(a>b) break; MinMax(a,b,&c,&d); if(c>=0)v.push_back(c); if(d>=0)v.push_back(d); a=c+1; b=d-1; if(c==d && c>=0) v.pop_back(); } sort(v.begin(),v.end()); //for(int i=0;i<v.size();i++) cout<<v[i]<<' '; ll _max = 0ll; for(int i=0;i<v.size()-1;i++) { _max = max(_max , v[i+1]-v[i]); } return _max; } else { ll s,e; MinMax(0,MAX,&s,&e); ll minin = (e-s-1ll) / (ll)(N-1) + 1ll; ll a=s, b=s+minin; vector<ll> v; while(1) { int flag=0; if(b>=e) { flag=1; b=e; } ll t1,t2; MinMax(a,b,&t1,&t2); if(t1!=-1) { v.push_back(t1); v.push_back(t2); } if(flag==1) break; a = b+1; b = a+minin; } //for(int i=0;i<v.size();i++) cout<<v[i]<<' '; ll _max=0; for(int i=0;i<v.size()-1;i++) { _max = max(_max , v[i+1]-v[i]); } return _max; } return 0; }

Compilation message (stderr)

gap.cpp: In function 'll findGap(int, int)':
gap.cpp:22:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<v.size()-1;i++) {
                      ^
gap.cpp:50:22: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
         for(int i=0;i<v.size()-1;i++) {
                      ^
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...