Submission #888319

#TimeUsernameProblemLanguageResultExecution timeMemory
88831912345678Gap (APIO16_gap)C++17
30 / 100
3102 ms4180 KiB
#include "gap.h" #include <bits/stdc++.h> using namespace std; #define ll long long long long findGap(int T, int N) { if (T==1) { ll x=0, y=1e18, a, b, idx=0, mx=0; vector<ll> v; while (v.size()<N) { MinMax(x, y, &a, &b); if (a==b) v.push_back(a); else v.push_back(a), v.push_back(b); x=a+1; y=b-1; } sort(v.begin(), v.end()); for (int i=1; i<v.size(); i++) mx=max(mx, v[i]-v[i-1]); return mx; } else { ll x=0, y=1e18, mn, mx, mmn, mmx, res=0; set<ll> s; MinMax(x, y, &mmn, &mmx); if (mmx-mmn+1<N+1) return 1; ll gap=(mmx-mmn+1)/(N+1); for (int i=mmn; i<=mmx; i+=gap) { MinMax(i, i+gap-1, &mn, &mx); if (mn==-1) continue; s.insert(mn); if (mn!=mx) s.insert(mx); } for (auto itr=s.begin(); next(itr)!=s.end(); itr=next(itr)) res=max(res, *next(itr)-*itr); return res; } }

Compilation message (stderr)

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:15:24: warning: comparison of integer expressions of different signedness: 'std::vector<long long int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   15 |         while (v.size()<N)
      |                ~~~~~~~~^~
gap.cpp:23:24: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   23 |         for (int i=1; i<v.size(); i++) mx=max(mx, v[i]-v[i-1]);
      |                       ~^~~~~~~~~
gap.cpp:13:31: warning: unused variable 'idx' [-Wunused-variable]
   13 |         ll x=0, y=1e18, a, b, idx=0, mx=0;
      |                               ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...