记录编号 599833 评测结果 AAAAAAAAAA
题目名称 [HDOJ 4699]Editor 最终得分 100
用户昵称 Gravatar二乾五 是否通过 通过
代码语言 C++ 运行时间 0.876 s
提交时间 2025-03-29 14:40:51 内存使用 4.07 MiB
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;

#define ll long long

ll n,x,qzh=0,ms[1000050],mst=0;
char op;

stack<ll>l,r;

int main(){
//    freopen("editor.in" ,"r",stdin );
//    freopen("editor.out","w",stdout); 
    cin>>n;
    while(n){
        cin>>op;
        switch(op){
            case 'I':
                cin>>x;
                l.push(x);
                qzh+=x;
                if(mst==0){mst++;ms[mst]=qzh;}
                else {mst++;ms[mst]=max(qzh,ms[mst-1]);}
                break;
            case 'D':
                if(l.empty())break;
                qzh-=l.top();
                mst--;
                l.pop();
                break;
            case 'L':
                if(!l.empty()){
                    r.push(l.top());
                    qzh-=l.top();
                    mst--;
                    l.pop();
                }
                break;
            case 'R':
                if(!r.empty()){
                    l.push(r.top());
                    qzh+=r.top();
                    if(mst==0){mst++;ms[mst]=qzh;}
                    else {mst++;ms[mst]=max(qzh,ms[mst-1]);}
                    r.pop();
                }
                break;
            case 'Q':
                cin>>x;
                cout<<ms[x]<<endl;
                break;
        }
        n--;
    }
    return 0;
}