제출 #372311

#제출 시각아이디문제언어결과실행 시간메모리
372311mariowongBigger segments (IZhO19_segments)C++14
0 / 100
1 ms364 KiB
#include <bits/stdc++.h>
using namespace std;

long long n,a[500005],dp[500005],ps[500005];
priority_queue <pair<long long,long long>  > q;
pair<long long,long long> now;
int main(){
	ios::sync_with_stdio(false);
	cin >> n;
	for (int i=1;i<=n;i++){
		cin >> a[i];
		ps[i]=ps[i-1]+a[i];
	}
	for (int i=1;i<=n;i++){
		while (!q.empty() && -q.top().first <= ps[i]-ps[q.top().second]){
			now=q.top();
			q.pop();
		}
		dp[i]=dp[now.second]+1;
		q.push(make_pair(-(ps[i]-ps[now.second]),i));
	}
	cout << dp[n] << "\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...