제출 #145615

#제출 시각아이디문제언어결과실행 시간메모리
145615dolphingarlicHacker (BOI15_hac)C++14
0 / 100
19 ms2628 KiB
#include <bits/stdc++.h> #pragma GCC Optimize("O3") #define FOR(i, x, y) for (ll i = x; i < y; i++) #define MOD 1000000007 typedef long long ll; using namespace std; ll a[500000]; pair<ll, ll> sums[500000]; int main() { iostream::sync_with_stdio(false); cin.tie(0); ll n; cin >> n; FOR(i, 0, n) cin >> a[i]; ll window = (n + 1) / 2, sum = 0; FOR(i, 0, window) sum += a[i]; FOR(i, 0, n) { sums[i] = {sum, i}; sum += a[(i + window) % n] - a[i]; } sort(sums, sums + n); ll curr_start = sums[0].second, rotation = window; FOR(i, 1, n) { // cout << curr_start << ' ' << rotation << '\n'; if (sums[i].second == (curr_start + rotation) % n) { cout << sums[i].first << '\n'; break; } else { if ((curr_start < sums[i].second && curr_start + rotation > sums[i].second) || (curr_start < sums[i].second + n && curr_start + rotation > sums[i].second + n)) { rotation = (sums[i].second - curr_start + n) % n + window; } else { rotation = (curr_start - sums[i].second + n) % n + rotation; curr_start = sums[i].second; } if (rotation >= n) { cout << sums[i].first << '\n'; break; } } } return 0; }

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

hac.cpp:2:0: warning: ignoring #pragma GCC Optimize [-Wunknown-pragmas]
 #pragma GCC Optimize("O3")
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...