线段树,为什么全wa显示too short on line 1
查看原帖
线段树,为什么全wa显示too short on line 1
536651
TTTTLE楼主2022/7/30 10:04
#include<bits/stdc++.h>
using namespace std;
#define ll long long
const int M=2e5+25;
int t,m,d,len,f[M<<2];
char k[10];
void add(int cnt,int l,int r,int x,int v){
	if(l==r){
		f[cnt]+=v;
		return;
	}
	int mid=l+r>>1;
	if(x<=mid)
		add(cnt<<1,l,mid,x,v);
	else
		add(cnt<<1|1,mid+1,r,x,v);
	f[cnt]=max(f[cnt<<1],f[cnt<<1|1]);
}
int query(int cnt,int l,int r,int x,int y){
	if(x<=l&&r<=y)
		return f[cnt];
	int mid=l+r>>1;
	int rs=0;
	if(x<=mid)
		rs=query(cnt<<1,l,mid,x,y);
	if(mid<y)
		rs=max(rs,query(cnt<<1|1,mid+1,r,x,y));
	return rs;
}
signed main(){
	int n=0;
	scanf("%lld%lld",&m,&d);
	for(int i=1;i<=m;i++){
		scanf("%s%lld",k,&len);
		if(k[0]=='A')
			++n,add(1,1,m,n,(len+t)%d);
		else{
			if(len==0)
				t=0;
			else
				t=query(1,1,m,n-len+1,n);
			printf("%lld\n",t);
		}
	}
	return 0;
}
2022/7/30 10:04
加载中...