为什么RE,有好心大神么
查看原帖
为什么RE,有好心大神么
1129659
Kevin626楼主2024/3/12 20:38

没啥好说的 (沮丧)

#include<bits/stdc++.h>
using namespace std;

const int N=1e9+10;
int t,n;
bool a[N];
long long ans;
int maxn=-1,minn=1;
bool check(int mid){
	int k=0;
	for(int i=0;i<=min(t,maxn);i++)
		if(a[i])k++;
	if(k>=mid)return 1;
	k=0;
	for(int i=0;i>=max(0-t,minn);i--)
		if(a[i])k++;
	return k>=mid;
}

int main(){
	cin>>t>>n;
	for(int i=1;i<=n;i++){
		int x;
		cin>>x;	
		a[x]=1;
		if(x>0)maxn=max(x,maxn);
		if(x<0)minn=min(x,minn);
	}
	ans=n;
	int l=0,r=maxn;
	while(l<=r){
		int mid=(l+r)/2;
		if(check(mid))l=mid+1,ans=mid;
		else r=mid-1;
	}
	cout<<ans;
	return 0;
}

首评关注,谢谢各位!!!

2024/3/12 20:38
加载中...