| 比赛 |
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;
}