제출 #1092050

#제출 시각아이디문제언어결과실행 시간메모리
1092050juicyBigger segments (IZhO19_segments)C++17
100 / 100
51 ms13140 KiB
#include <bits/stdc++.h> using namespace std; #ifdef LOCAL #include "debug.h" #else #define debug(...) 42 #endif const int N = 5e5 + 5; int n; int res[N], lst[N]; long long a[N]; int main() { ios::sync_with_stdio(false); cin.tie(nullptr); cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; } partial_sum(a, a + n + 1, a); for (int i = 1; i <= n; ++i) { long long x = a[i] - a[lst[i]]; res[i] = res[lst[i]] + 1; int l = i + 1, r = n, p = -1; while (l <= r) { int m = (l + r) / 2; if (a[m] - a[i] >= x) { p = m; r = m - 1; } else { l = m + 1; } } if (~p) { lst[p] = max(lst[p], i); } lst[i + 1] = max(lst[i + 1], lst[i]); } cout << res[n]; return 0; }
#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...