蒟蒻插入+二分全WA求助!!!
查看原帖
蒟蒻插入+二分全WA求助!!!
380042
piggy123楼主2021/8/29 19:43
#include <iostream>
using namespace std;

long long factory[100005]= {0};
int t,s=0;

void insert(long long n) {
	s++;
	for (int i=0; i<s; i++) {
		if (factory[i]==n){
			s--;
			cout << "Already Exist" << endl;
			return;
		}
		if (factory[i]>n||factory[i]==0) {
			for (int j=s-1; j>=i; j--) {
				factory[j+1]=factory[j];
			}
			factory[i]=n;

			return;
		}
	}
}

void del(int mid) {

	for (int i=mid+1; i<=s; i++) {
		factory[i-1]=factory[i];
	}
	s--;
}

int main() {
	cin >> t;
	while (t--) {
		int typ;
		cin >> typ;
		if(typ==1) {
			long long len;
			cin >> len;
			insert(len);

		} else {
			long long len;
			cin >> len;
			if (s==0){
				cout << "Empty" << endl;
				continue;
			}
			int left=0,right=s-1,mid=(left+right)/2;
			while (left<right) {
				mid=(left+right)/2;
				if (factory[mid]!=len) {
					if (factory[mid]<len) {
						left=mid+1;
					} else {
						right=mid;
					}

				} else {
					cout << factory[mid] << endl;
					goto outer;
				}
			}
			cout << factory[mid] << endl;

outer:
			del(mid);
		}
	}
	return 0;
}

2021/8/29 19:43
加载中...