满江红求调
查看原帖
满江红求调
1241185
yi105011楼主2024/8/17 20:42

样例全过,自己造的数据也没错,到底哪里有问题,请大佬们帮忙
代码:

#include<bits/stdc++.h>
using namespace std;
int n , a[100010] , len;
bool push (int x) {
	for (int i = 1;i <= len;i ++) {
		if (a[i] == x) return false;
	}
	a[++ len] = x;
	return true;
}
int pop (int x) {
	if (len == 0) return 0;
	int min = 0 , max = INT_MAX;
	int minn = 1, maxx = 1;
	for (int i = 1;i <= len && min != max;i ++) {
		if (a[i] <= x && a[i] > min) min = a[i] , minn = i;
		if (a[i] >= x && a[i] < max) max = a[i] , maxx = i; 
	}
	if (x - min <= max - x) {
		a[minn] = a[len];
		a[len --] = 0;
		return min;
	}
	a[maxx] = a[len];
	a[len --] = 0;
	return max;
}
int main () {
	cin >> n;
	int b , c;
	while (n --) {
		cin >> b >> c;
		switch (b) {
			case 1 :
			if ( !push(c) )
			cout << "Already Exist";	
			break;
			case 2 :
			b = pop(c);
			if (b == 0) cout << "Empty";
			else cout << b;
			break;
			default : break;
		}
		cout << "\n";	
	}
	return 0;
}
2024/8/17 20:42
加载中...