水过了,,,,
听说是一道线段树的题,,,但是这里没有用线段树做,就是在输入的时候就对他排序,删除的时候也按序删除(显然),就酱紫。。。。
原先不知道WA在哪里了,真的弄了好久。然后在一个阳光尚好的早上,在一整排的AC中。。。。终于A掉了。
#include <stdio.h> #define maxn 100010 #define ll __int64 int que[maxn]; int main() { int n; char op[5]; int x; while(scanf("%d",&n)!=EOF) { int i,j,k; int top=0; while(n--) { scanf("%s",op); if(op[0]=='a') { scanf("%d",&x); for(i=top;i>0;i--) { if(que[i-1]>x) que[i]=que[i-1]; else break; } que[i]=x; top++; } else if(op[0]=='d') { scanf("%I64d",&x); for(i=top-1;i>=0;i--) { if(que[i]==x) { for(j=i;j<top-1;j++) que[j]=que[j+1]; top--; break; } } } else { ll sum,tmp; sum=tmp=0; for(i=2;i<top;i+=5) { tmp=que[i]; sum+=tmp; } printf("%I64d\n",sum); } } } return 0; }