제출 #861428

#제출 시각아이디문제언어결과실행 시간메모리
861428Halym2007Bigger segments (IZhO19_segments)C++11
13 / 100
1 ms2484 KiB
#include<bits/stdc++.h> #define ll long long using namespace std; const int N = 5e5 + 5; ll dp[N], p[N], a[N], val[N]; int main () { // freopen("input.txt", "r", stdin); int n; cin >> n; for (int i = 1; i <= n; ++i) { cin >> a[i]; p[i] = a[i] + p[i - 1]; } for (int i = 1; i <= n; ++i) { int l = 1; int r = i; int jog = 0; while (l <= r) { int md = (l + r) / 2; if (p[i] - p[md - 1] >= val[md - 1]) { jog = md; l = md + 1; } else r = md - 1; } dp[i] = dp[jog - 1] + 1; val[i] = p[i] - p[jog - 1]; } cout << dp[n]; }
#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...