社区讨论

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 条回复,欢迎继续交流。

正在加载回复...