제출 #1083334

#제출 시각아이디문제언어결과실행 시간메모리
1083334sonamooGap (APIO16_gap)C++14
100 / 100
49 ms3316 KiB
#include "gap.h" #include <bits/stdc++.h> #define pii pair<ll,ll> #define ll long long using namespace std; pii query(ll s , ll e) { pii ret; MinMax(s , e , &ret.first , &ret.second); return ret; } vector<ll> v; long long findGap(int T, int N) { if (T==1) { ll s = 0 , e = 2e18; while(N > 0) { pii ret = query(s , e); if (ret.first!=-1) v.push_back(ret.first); if (ret.second!=-1) v.push_back(ret.second); s = ret.first+1 , e = ret.second-1; N -= 2; } sort(v.begin() , v.end()); ll ans=0; for (int i = 0; i < v.size()-1; i++) ans = max(ans , v[i+1]-v[i]); return ans; } pii ret = query(0 , 2e18); ll mi = ret.first, ma = ret.second; ll gap = (ma-mi+N-2)/(N-1); for (ll i = mi; i <= ma; i += gap+1) { pii ret=query(i , i+gap); if (ret.first!=-1) v.push_back(ret.first); if (ret.second!=-1) v.push_back(ret.second); } ll ans=0; for (int i = 0; i < v.size()-1; i++) ans = max(ans , v[i+1]-v[i]); return ans; }

컴파일 시 표준 에러 (stderr) 메시지

gap.cpp: In function 'long long int findGap(int, int)':
gap.cpp:29:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   29 |         for (int i = 0; i < v.size()-1; i++) ans = max(ans , v[i+1]-v[i]);
      |                         ~~^~~~~~~~~~~~
gap.cpp:42:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<long long int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |     for (int i = 0; i < v.size()-1; i++) ans = max(ans , v[i+1]-v[i]);
      |                     ~~^~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...