求助,RE了
查看原帖
求助,RE了
464732
luqyou楼主2022/10/21 14:28
#include<bits/stdc++.h>
using namespace std;
int n,m,k1,k2,a[3000001],l,r,ans; 
int main(){
	scanf("%d%d%d",&n,&m,&k1);
	k2=-k1;
	for(int i=1;i<=n;i++){
		scanf("%d",&a[i]);
	}
	sort(a+1,a+n+1);
	l=1,r=n;
	for(int i=1;i<=m;i++){
		int op,x;
		scanf("%d",&op);
		switch(op){
			case 1:{
				scanf("%d",&x);
				k1-=x;
				k2-=x;
				while(a[l]<(k2)) l++;
				while(a[r]>k1) r--;
				break;
			}
			case 2:{
				scanf("%d",&x);
				k1+=x;
				k2+=x;
				while(a[l]<(k2)) l++;
				while(a[r]>k1) r--;	
				break;
			}
			case 3:{
				printf("%d\n",r-l+1);
				break;
			}
		}
		//printf(" %d %d\n",l,r);
	}
	return 0;
}

2022/10/21 14:28
加载中...