제출 #1006194

#제출 시각아이디문제언어결과실행 시간메모리
1006194KindaNamelessBigger segments (IZhO19_segments)C++14
100 / 100
57 ms13328 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define ld long double void solve(){ int N; cin >> N; vector<ll> P(N + 5); for(int i = 1; i <= N; ++i){ ll a; cin >> a; P[i] = P[i - 1] + a; } vector<int> dp(N + 5), pos(N + 5); dp[0] = 0; pos[0] = 0; for(int i = 1; i <= N; ++i){ pos[i] = max(pos[i], pos[i - 1]); dp[i] = dp[pos[i]] + 1; int next = lower_bound(P.begin() + 1, P.begin() + N + 1, 2 * P[i] - P[pos[i]]) - P.begin(); pos[next] = i; } cout << dp[N]; } int main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int tc = 1; //cin >> tc; while(tc--){ solve(); } 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...