新手小白提问编译错误
查看原帖
新手小白提问编译错误
762646
Piggy343288楼主2022/9/14 19:52
#include<cstdio>
typedef long long ll;

const ll ninf=-(1<<62);
int m,cnt;
char op[2];
ll data[800005],x,t,p;
ll max(ll a,ll b){
	return a>b?a:b;
}

void add(int s,int k,int o, int l,int r){
	if(l==r){
		data[o]=k;
	}else{
		int mid=(l+r)>>1;
		if(mid>=s)add(s,k,o<<1,l,mid);
		if(mid<s )add(s,k,o<<1|1,mid+1,r);
		data[o]=max(data[o<<1],data[o<<1|1])%p;
	}
}
ll query(int ll,int rr,int o,int l,int r){
	if(ll<=l && rr>=r)return data[o];
	int mid=(l+r)>>1;
	ll a=ninf;
	ll b=ninf;
	if(mid>=ll)a=query(ll,rr,o<<1,l,mid);
	if(mid<rr)b=query(ll,rr,o<<1|1,mid+1,r);
	return max(a,b);
}
int main(){
	scanf("%d %lld",&m,&p);
	for(int i=0;i<m;i++){
		scanf("%s %lld",op,&x);
		switch(op[0]){
			case('A'):{
				add(cnt+1,(x+t)%p,1,1,m);
				break;
			}case('Q'):{
			if(x==0)t=0;
			else t=query(cnt-x+1,cnt,1,1,m);}
		}		
	}
	return 0;
}

请看query函数及文件前5行,编译显示“语句不起作用”和“Expected;before a”是什么情况?

2022/9/14 19:52
加载中...