WA0分,样例没问题,求解答
查看原帖
WA0分,样例没问题,求解答
1458371
Champak楼主2024/12/6 19:20
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
long long pos[333333];

void cmp(const void* a, const void* b) {
	
	long long arg1 = *(long long*)a;
	long long arg2 = *(long long*)b;
	if (arg1 < arg2) {
		return -1ll;
	}
	else if (arg1 > arg2) {
		return 1ll;
	}
	return 0ll;
	
}
int main() {
	long long n, m, k;
	scanf("%lld%lld%lld", &n, &m, &k);
	for (long long i = 0; i < n; i++) {
		scanf("%lld", &pos[i]);
	}
	long long op,x;
	long long st=0,la=n-1;
	long long d = 0;
	qsort(pos, n, sizeof(long long), cmp);
	for (long long j = 0; j < m; j++) {
		scanf("%lld", &op);
		if (op == 3) {
			printf("%lld\n", la - st);
			continue;
		}
		
		
		if (op==1) {
			scanf("%lld", &x);
			d += x;
			while (pos[la] + d > k && st <= la) {
			la--;
			}			
		}
		else if (op == 2) {
			scanf("%lld", &x);
			d -= x;
			while (pos[st] + d < -k && st <= la) {
				st++;
			}				 
		}
		
		
	}
	
	return 0;
}
2024/12/6 19:20
加载中...