比赛 2026.9.5 评测结果 AATTTTTTTTTEETT
题目名称 To-Do List 最终得分 12
用户昵称 wmlsxzh 运行时间 58.045 s
代码语言 C++ 内存使用 3.75 MiB
提交时间 2026-09-05 09:21:25
显示代码纯文本
#include<bits/stdc++.h>
using namespace std;
int q,p=1000003,inf=0x3f3f3f3f;
struct task{
    int st,len;
};
bool cmp(task a,task b){
    return a.st<b.st;
}
vector<task> arr;
int recalc(vector<task> arr){
    int fin=0;
    sort(arr.begin(),arr.end(),cmp);
    for(task x:arr){
        if(x.st==inf)break;
        int s=x.st,l=x.len;
        fin=max(fin+1,s)+l-1;
    }
    return fin;
}
int main(){
    freopen("List.in","r",stdin);
    freopen("List.out","w",stdout);
    scanf("%d\n",&q);
    int last=0;
    for(int i=0;i<q;++i){
        char c;
        scanf("%c ",&c);
//        printf("%c ",c);
        if(c=='A'){
            task t;
            scanf("%d %d\n",&t.st,&t.len);
            t.st=(t.st+last)%p;
            t.len=(t.len+last)%p;
//            printf("%d %d\n",t.st,t.len);
            arr.push_back(t);
        }
        else if(c=='D'){
            int id;
            scanf("%d\n",&id);
            id=(id+last)%p;
            arr[id-1].st=inf;
        }
        last=recalc(arr);
        printf("%d\n",last);
    }
    return 0;
}