代码如下:
#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 (){
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;
}