5 条题解

  • 0
    @ 2026-8-15 10:56:52
    # include <bits/stdc++.h>
    
    using namespace std;
    const int N=1e6+5;
    struct num{
    	int id,sum;
    	bool operator<(const num&a)const{
    		return a.sum>sum;
    	}
    }a[N];
    int n,m,x,l,r,mid;
    int main(){
    	cin>>n;
    	for(int i = 1;i<=n;i++){
    		cin>>a[i].sum;a[i].id=i;
    	}
    	cin>>x;
    	l=0,r=n+1,mid=(l+r+1)/2;
    	sort(a+1,a+n+1);
    	while(r-l>1){
    		mid=(l+r+1)/2;
    		if(a[mid].sum<x)
    			l=mid;
    		else
    			r=mid;
    		if(a[mid].sum==x){
    			for(int i = 1;i<=n;i++)printf("%d ",a[i].sum);
    			cout<<"\n";
    			cout<<a[mid].id<<endl;
    			return 0;
    		}
    	}
    	for(int i = 1;i<=n;i++)printf("%d ",a[i].sum);
    	cout<<"\n"; 
    	cout<<"Not Find"<<endl;
    	return 0;
    }
    

    信息

    ID
    1564
    时间
    1000ms
    内存
    256MiB
    难度
    7
    标签
    递交数
    738
    已通过
    184
    上传者