제출 #860739

#제출 시각아이디문제언어결과실행 시간메모리
860739Halym2007Bigger segments (IZhO19_segments)C++11
0 / 100
1 ms2396 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int N = 5e5 + 5; ll o, a[N], seg[N], sum; int main () { // freopen("input.txt", "r", stdin); int n; cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } o++; seg[o] = a[1]; for (int i = 2; i <= n; ++i) { int r = i; sum = 0; while (r <= n and sum < seg[o]) { sum += a[r]; r++; } if (sum >= seg[o]) { o++; seg[o] = sum; while (i <= n and sum - a[i] >= seg[o - 1] + a[i]) { seg[o - 1] += a[i]; seg[o] -= a[i]; i++; } } else { seg[o] += sum; } i = max(r - 1, i - 1); } cout << o << endl; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...