代码(P1901)
#include<iostream>
#include<stdio.h>
#include<stack>
using namespace std;
stack <int> s;
const int maxn=1e6+5;
int h[maxn],v[maxn],sum[maxn],ans=-maxn,n;
int main()
{
// freopen("","r",stdin);
// freopen("","w",stdout);
cin >> n;
for(int i=0;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);
}
for(int i=0;i<n;i++)
{
ans=max(sum[i],ans);
}
cout << ans;
// fclose(stdin);
// fclose(stdout);
return 0;
}
有时CE只报编译失败,还有就是有的AC有的RE。
请大佬们解答一下。