标题:求助!这题我自己搞不定了
取消只看楼主
根根本根
Rank: 2
来 自:上海
等 级:论坛游民
帖 子:64
专家分:15
注 册:2018-3-19
结帖率:62.5%
已结贴  问题点数:6 回复次数:0 
求助!这题我自己搞不定了

#include <bits/stdc++.h>
using namespace std;
long a[1000]={0};
int halfind(long x,int lbound,int rbound){
    int rank=lbound+ceil((rbound-lbound)/2);
    if(rbound==lbound){
        return a[lbound];
    }
    if(x>a[rank]){
        return halfind(x,rank,rbound);
    }
    else if(x<=a[rank]){
        return halfind(x,lbound,rank);
    }
}
int main(){
    int n,m;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sort(a,a+n);
    cin>>m;
    for(int i=0;i<m;i++){
        int t;
        cin>>t;
        cout<<halfind(t,0,n-1)<<endl;
    }
    return 0;
}



搜索更多相关主题的帖子: int rank return cin i++ 
2018-10-18 20:22



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-490493-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 1.972238 second(s), 9 queries.
Copyright©2004-2025, BCCN.NET, All Rights Reserved