这名可怜的蒟蒻交了好几次都被第2,10个点RE卡住了,实在找不出来错误了,求助各位神犇
#include <iostream>
#include <algorithm>
#include <cstdio>
#include <cmath>
#include <cstring>
#define LL long long
#define max(a,b) ((a)>(b)?(a):(b))
#define min(a,b) ((a)<(b)?(a):(b))
#define MAXN 100100
using namespace std;
LL l[MAXN],r[MAXN],h[MAXN],cnt[MAXN],s[MAXN],v[MAXN];
LL ans;
LL top=0;
int main()
{
LL n,i,j;
cin>>n;
for(i=1;i<=n;i++)
{
scanf("%lld %lld",&h[i],&v[i]);
}
for(i=1;i<=n;i++)
{
while(h[s[top]]<=h[i]&&top>0)top--;
l[i]=s[top];
s[++top]=i;
}
for(i=1;i<=2*n;i++)s[i]=0;
top=0;
for(i=n;i>=1;i--)
{
while(h[s[top]]<=h[i]&&top>0)top--;
r[i]=s[top];
s[++top]=i;
}
for(i=1;i<=n;i++)
{
cnt[l[i]]+=v[i];
cnt[r[i]]+=v[i];
}
for(i=1;i<=n;i++)
{
if(ans<cnt[i])ans=cnt[i];
}
cout<<ans;
/* for(i=1;i<=n;i++)
{
printf("%lld \n",cnt[i]);
}
*/
return 0;
}