Submission #199986

#TimeUsernameProblemLanguageResultExecution timeMemory
199986mohammedehab2002Gap (APIO16_gap)C++11
64.63 / 100
66 ms1912 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; long long solve(int n) { long long f,l,ans=0; MinMax(0,1e18,&f,&l); deque<long long> d1({f}),d2({l}); while (d1.size()+d2.size()<n) { MinMax(f+1,l-1,&f,&l); d1.push_back(f); d2.push_front(l); } for (int i=1;i<d1.size();i++) ans=max(ans,d1[i]-d1[i-1]); for (int i=1;i<d2.size();i++) ans=max(ans,d2[i]-d2[i-1]); return max(ans,d2.front()-d1.back()); } long long findGap(int t,int n) { if (t==1 || n<=10) return solve(n); long long f,l; MinMax(0,1e18,&f,&l); long long p=f+1,g=1; while (p<=l) { long long mn,mx; MinMax(p,p+g-1,&mn,&mx); if (mn==-1) { while (mn==-1) { g*=2; MinMax(p,p+g,&mn,&mx); } g=mn-p+1; } p=mx+1; } return g; }

Compilation message (stderr)

gap.cpp: In function 'long long int solve(int)':
gap.cpp:9:28: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  while (d1.size()+d2.size()<n)
         ~~~~~~~~~~~~~~~~~~~^~
gap.cpp:15:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=1;i<d1.size();i++)
               ~^~~~~~~~~~
gap.cpp:17:16: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
  for (int i=1;i<d2.size();i++)
               ~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...