Files
OI-source/p.HDOJ4699.cpp
2023-08-03 09:22:52 +08:00

38 lines
756 B
C++

//http://acm.hdu.edu.cn/showproblem.php?pid=4699
#include<cstdio>
#include<algorithm>
using namespace std;
const int maxn=1e6+5;
int stka[maxn],stkb[maxn],la,lb,Q,s[maxn],f[maxn];
int main()
{
#ifdef local
freopen("pro.in","r",stdin);
#endif
f[0]=-0x3f3f3f3f;
while(scanf("%d",&Q)==1)
{
la=lb=0;
while(Q-->0)
{
char a[2]; int b; scanf("%s",a);
if(a[0]=='I')
{
scanf("%d",&stka[++la]);
s[la]=s[la-1]+stka[la];
f[la]=max(f[la-1],s[la]);
}
else if(a[0]=='D'&&la) la--;
else if(a[0]=='L'&&la) stkb[++lb]=stka[la--];
else if(a[0]=='R'&&lb)
{
stka[++la]=stkb[lb--];
s[la]=s[la-1]+stka[la];
f[la]=max(f[la-1],s[la]);
}
else if(a[0]=='Q') { scanf("%d",&b); printf("%d\n",f[b]); }
}
}
return 0;
}