40求助
  • 板块P1901 发射站
  • 楼主dhx666
  • 当前回复0
  • 已保存回复0
  • 发布时间2024/7/26 10:53
  • 上次更新2024/7/26 11:04:22
查看原帖
40求助
995637
dhx666楼主2024/7/26 10:53

代码如下:

#include <bits/stdc++.h>
using namespace std;
int n;
long long h[1100000],v[1100000],sum[1100000];
long long maxx;
stack <long long> s;
int main (){
	//freopen("P1901_2.in","r",stdin);
	cin >> n;
	for(int i=1;i<=n;i++){
		cin >> h[i] >> v[i];
		while(!s.empty()&&h[s.top()]<h[i]){
			sum[i]+=v[s.top()];
			s.pop();
		}
		if(!s.empty())
		sum[s.top()]+=v[i];
		s.push(i);
	}
	while(!s.empty()){
		maxx=max(maxx,sum[s.top()]);
		s.pop();
	}
	cout << maxx;
	return 0;
}
2024/7/26 10:53
加载中...