제출 #1083397

#제출 시각아이디문제언어결과실행 시간메모리
1083397djs100201Gap (APIO16_gap)C++17
30 / 100
54 ms2324 KiB
#include "gap.h" #include <bits/stdc++.h> #define all(v) v.begin(), v.end() using namespace std; using ll = long long; using P = pair<ll, ll>; using PP = pair<ll, P>; const ll n_ = 2e5 + 10, inf = (ll)2e9 * (ll)1e9 + 7, mod = 998244353; ll n, m, tc = 1, a, b, c, d, sum, x, y, z, base, ans, k; ll findGap(int T, int N) { if (T == 1) { vector<ll> res(N); ll l = 0, r = 1e18, mn, mx, lidx = 0, ridx = N - 1; for (int i = 0; i < (N + 1) / 2; i++) { MinMax(l, r, &mn, &mx); res[lidx++] = mn, res[ridx--] = mx; l = mn + 1, r = mx - 1; } ll ret = 0; for (int i = 1; i < N; i++) ret = max(ret, res[i] - res[i - 1]); return ret; } else { ll l = 0, r = 1e18, ret = 0, mn, mx; MinMax(l, r, &mn, &mx); r = mx; ll gap = mx - mn, new_gap = gap / N; vector<ll> R; R.push_back(mn); ll x = mn; while (1) { MinMax(x + 1, x + new_gap, &mn, &mx); if (mx == -1) { x += new_gap; } else { ret = max(ret, mn - R.back()); x = mx; R.push_back(mx); } if(x==r)break; } for (int i = 1; i < R.size(); i++) ret = max(ret, R[i] - R[i - 1]); return ret; } }

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

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