用线段数维护即可

 #include<cstdio>
#include<algorithm>
#define ls (cur<<1)
#define rs (cur<<1|1)
#define mid ((a[cur].l+a[cur].r)>>1)
using namespace std;
const int maxn=;
long long n,m,x,y,z,k,d;
struct tree{
int l,r;
long long max;
}a[maxn];
void read(long long &k){
k=; int f=; char c=getchar();
while (c<''||c>'')c=='-'&&(f=-),c=getchar();
while (''<=c&&c<='')k=k*+c-'',c=getchar();
k*=f;
}
void build(int cur,int l,int r){
a[cur].l=l; a[cur].r=r;
if (l<r){
build(ls,l,mid);
build(rs,mid+,r);
}
}
void add(int cur,long long pos,long long del){
if (a[cur].l==pos&&a[cur].r==pos) a[cur].max=(a[cur].max+del)%d;
else{
if (pos<=mid) add(ls,pos,del);
else add(rs,pos,del);
a[cur].max=max(a[ls].max,a[rs].max);
}
}
long long query(int cur,int l,int r){
if (l<=a[cur].l&&a[cur].r<=r) return a[cur].max;
else{
long long ret=-0X7f7f7f7f;
if (l<=mid) ret=max(ret,query(ls,l,r));
if (r>mid) ret=max(ret,query(rs,l,r));
return ret;
}
}
int main(){
read(m);
build(,,m);
read(d);
long long t=;
for (int i=;i<=m;i++){
char c=getchar();
while(c!='A'&&c!='Q') c=getchar();
if (c=='A'){
n++;
read(x);
add(,n,x+t);
}
else{
read(x);
t=query(,n-x+,n);
printf("%lld\n",t);
}
}
return ;
}

最新文章

  1. nginx反向代理配置及优化
  2. Date and Time Pattern
  3. jmeter随笔(8)--请求post的&#160;数据为空
  4. 转:jxl导出excel(合并单元格)
  5. JavaWeb项目开发案例精粹-第4章博客网站系统-003Dao层
  6. Delphi ThreadPool 线程池(Delphi2009以上版本适用)
  7. oracle中int类型和number类型区别
  8. [学习笔记]设计模式之Factory Method
  9. Spring Security Encryption三种加密方式
  10. Wpf TextChanged事件导致死循环,事件触发循环问题
  11. LINUX下使用crontab进行RMAN备份实验
  12. IE浏览器上传文件时本地路径变成”C:\fakepath\”的问题
  13. Android触摸事件的应用
  14. MySql 使用 EF Core 2.0 CodeFirst、DbFirst、数据库迁移(Migration)介绍及示例
  15. es6学习笔记--新数据类型Symbol
  16. Java8新特性 并行流与串行流 Fork Join
  17. Linux下的Mysql数据库备份+还原
  18. Vue keep-alive的总结
  19. OCM_第七天课程:Section3 &mdash;》数据库可用性
  20. Android系统移植与驱动开发

热门文章

  1. 使用vue-cli启动项目出错
  2. 删除Oracle文件、注册表
  3. 大神给你分析HTTPS和HTTP的区别(转)
  4. HTTP请求 响应状态码
  5. bzoj 1029: [JSOI2007]建筑抢修【贪心+堆】
  6. Django day 36 支付宝支付,微信推送
  7. 232 Implement Queue using Stacks 用栈来实现队列
  8. Python,计算 ax^2 + bx + c = 0的根
  9. leetcode126 Word Ladder II
  10. redis学习-sds数据类型