Where is the Marble? UVA - 10474

せいしゅん404 · 发布于 2022-07-26 · 浏览 599 回复 0
#include<bits/stdc++.h>
using namespace std;
vector<int> a;
int main(void){
    int n,q,b,x,kase=0;
    while(cin>>n>>q&&(n&&q)){
        a.clear();
        printf("CASE# %d:",++kase);
        for(int i=0;i<n&&scanf("%d",&b);i++) a.push_back(b);
        sort(a.begin(),a.end());
        while(q--){
            scanf("%d",&x);
            //lower_bound 查找刚好大于等于x的值的下标
            //int p=lower_bound(a.begin(),a.end(),x)-a.begin();
            int p=find(a.begin(),a.end(),x)-a.begin();
            if(p<n&&a[p]==x)printf("%d found at %d\n",x,p+1);
            else printf("%d not found\n",x);
        }
    }
    return 0;
}
/*
4 1
2 3 5 1
5
5 2
1 3 3 3 1
2 3
0 0


*/

全部回复 共 0 条

还没有人回复。往下写第一条。

发表回复