比赛 2026.9.5 评测结果 WWWWWWWWWWWWWWW
题目名称 To-Do List 最终得分 0
用户昵称 彭欣越 运行时间 15.952 s
代码语言 C++ 内存使用 65.82 MiB
提交时间 2026-09-05 12:59:46
显示代码纯文本
#include <bits/stdc++.h>
#define ls p*2
#define rs p*2+1
using namespace std;
typedef long long ll;
const int N=1000010,mod=1000003;
int q,mk[N*4],a[N],b[N],cnt;
ll ans;
struct tree {
    ll w,k;
    int l,r;
}tr[N*4];
void build (int p,int l,int r) {
    tr[p].l=l;
    tr[p].r=r;
    if (l==r) {
        mk[p]=1;
        return;
    }
    int mid=(l+r)/2;
    build(ls,l,mid),build(rs,mid+1,r); 
}
void pushdown (int p) {
    tr[ls].k+=tr[p].k;
    tr[rs].k+=tr[p].k;
    tr[ls].w+=(tr[ls].r-tr[ls].l+1)*tr[p].k;
    tr[rs].w+=(tr[rs].r-tr[rs].l+1)*tr[p].k;
    tr[p].k=0;
}
void update (int p,int l,int r,ll k) {
    if (l<=tr[p].l&&tr[p].r<=r) {
        tr[p].k+=k;
        tr[p].w+=k;
        return;
    }
    pushdown(p);
    int mid=(tr[p].l+tr[p].r)/2;
    if (l<=mid) update(ls,l,r,k);
    if (r>mid) update(rs,l,r,k);
    tr[p].w=max(tr[ls].w,tr[rs].w);
}
ll query (int p,int l,int r) {
    if (l<=tr[p].l&&tr[p].r<=r) {
        return tr[p].w;
    }
    pushdown(p);
    int mid=(tr[p].l+tr[p].r)/2;
    ll sum=0;
    if (l<=mid) sum=max(sum,query(ls,l,r));
    if (r>mid) sum=max(sum,query(rs,l,r));
    return sum;
}
int main () {
    freopen("List.in","r",stdin);
    freopen("List.out","w",stdout);
    ios::sync_with_stdio(0);
    cin.tie(0),cout.tie(0);
    build(1,0,1000002);
    cin >> q;
    while (q--) {
        char op;
        int x,y;
        cin >> op >> x;
        x=(x+ans)%mod;
        if (op=='A') {
            cin >> y;
            a[++cnt]=x,b[++cnt]=y;
            y=(y+ans)%mod;
            update(1,x,x,x);
            update(1,0,x,y-1);
            ans=tr[1].w;
            cout << ans <<"\n";
        }else{
            update(1,a[x],a[x],-a[x]);
            update(1,0,a[x],-b[x]+1);
            ans=tr[1].w;
            cout << ans <<"\n";
        }
    }
    return 0;
}