社区讨论
样例过了,但是一分没有
P1198[JSOI2008] 最大数参与者 1已保存回复 0
讨论操作
快速查看讨论及其快照的属性,并进行相关操作。
- 当前回复
- 0 条
- 当前快照
- 1 份
- 快照标识符
- @loc3mti6
- 此快照首次捕获于
- 2023/10/30 07:25 2 年前
- 此快照最后确认于
- 2023/11/04 13:28 2 年前
CPP
#include<iostream>
#include<cstdio>
#include<string>
#include<stack>
using namespace std;
int a[1000010];
int ans[1000100];
int stk[1000100];
int z=0;
int tem=0;
int t=0;
int main(){
int m,d;
cin>>m>>d;
int pl=0;
for(int i=1;i<=m;i++){
char lin;
cin>>lin;
if(lin=='A'){
pl++;
cin>>a[pl];
a[pl]+=t;
a[pl]%=d;
if(z==0){
z++;
stk[z]=pl;
}
else{
while(z!=0&&a[stk[z]]<a[pl]){
z--;
}
z++;
stk[z]=pl;
}
}
if(lin=='Q'){
int l;
cin>>l;
int place=lower_bound(stk+1,stk+pl+1,pl-l+1)-stk;
t=a[stk[place]];
tem++;
ans[tem]=t;
}
}
for(int i=1;i<=tem;i++){
cout<<ans[i]<<endl;
}
return 0;
}
回复
共 0 条回复,欢迎继续交流。
正在加载回复...