蒟蒻求助(样例全对但是0分)
查看原帖
蒟蒻求助(样例全对但是0分)
373897
DreamBuilder楼主2021/5/25 21:57

本蒟蒻用的是upper_bound和lower_bound。求各位巨佬帮我看一下。代码如下:

#include<bits/stdc++.h>
using namespace std;
multiset<int> a;
int main(){
	int n,g=0;
	cin>>n;
	a.insert(2147483647);
	for(int i=1;i<=n;++i){
		int x,y,h;
		cin>>x>>y;
		if(x==1){
			multiset<int>::iterator it;
			multiset<int>::iterator b=a.lower_bound(y);
			int ans=1;
			for(it=a.begin();it!=b;++it) 
				++ans;
			printf("%d\n",ans);
		}
		else if(x==2){
			int ans=1;
			multiset<int>::iterator it;
				for(it=a.begin();ans<x;++ans)
					++it;
			printf("%d\n",*it);
		}
		else if(x==3){
			multiset<int>::iterator it=a.lower_bound(y);
			--it;
			if(it!=a.end())
				printf("%d\n",*it);
			else
				printf("-2147483647");
		}
		if(x==4){
			multiset<int>::iterator it=a.upper_bound(y);
				printf("%d\n",*it);
		}
		if(x==5)
			a.insert(y);
		//upper_bound lower_bound
	}
	return 0;
}
2021/5/25 21:57
加载中...