记录编号 398642 评测结果 AAAAAAAAAA
题目名称 [JSOI 2008] 最大数 最终得分 100
用户昵称 Gravatar皓芷 是否通过 通过
代码语言 C++ 运行时间 0.373 s
提交时间 2017-04-22 17:55:38 内存使用 3.36 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
typedef long long LL;
LL m,d,b,t=0,r=1,l=1;
char y;
struct duilie
{
	LL n,k;
}a[200001];
void charu(LL b)
{
	b%=d;
	b+=t;
	b%=d;
	if(l!=1)
	{
	  while(b>=a[r-1].n&&r>1)
	  {
		r--;
	  }
	}
	a[r].n=b;
	a[r].k=l;
	r++;l++;
}
void chaxun(LL b)
{
	LL o=r-1;
	LL j=l-b;
	LL maxa=0;
	while(a[o].k>=j&&o>=1)
	{
	  maxa=max(maxa,a[o].n);
	  o--;
	}
	t=maxa;
	printf("%lld\n",maxa);
}
int main()
{
	freopen("bzoj_1012.in","r",stdin);
	freopen("bzoj_1012.out","w",stdout);
	scanf("%lld%lld",&m,&d);
	for(LL i=1;i<=m;i++)
	{
	  scanf("\n%c",&y);
	  if(y=='A'){scanf("%lld",&b);charu(b);}
	  if(y=='Q'){scanf("%lld",&b);chaxun(b);}
	}
	return 0;
}