社区讨论
BZOJ过了,洛谷10分,求指点
P1198[JSOI2008] 最大数参与者 4已保存回复 7
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 7 条
- 当前快照
- 1 份
- 快照标识符
- @mi6ltrt1
- 此快照首次捕获于
- 2025/11/20 06:59 4 个月前
- 此快照最后确认于
- 2025/11/20 06:59 4 个月前
CPP
#include<cstdio>
#include<algorithm>
using namespace std;
long long tree[200002],pans;
int pos;
void add(int x,long long y)
{
for(;x>=1;x-=x&-x)
tree[x]=max(tree[x],y);
}
long long query(int x)
{
long long tmp=0;
for(;x<=pos;x+=x&-x)
tmp=max(tmp,tree[x]);
return tmp;
}
int main()
{
int M;
long long D;
scanf("%d%lld",&M,&D);
while(M--)
{
char c[1];
long long t;
scanf("%s%lld",c,&t);
if(c[0]=='A')
{
pos++;
add(pos,(t+pans)%D);
}
else
{
pans=query(pos-t+1);
printf("%lld\n",pans);
}
}
return 0;
}
回复
共 7 条回复,欢迎继续交流。
正在加载回复...