大理石在哪?(Where is the Marble?,UVa 10474)

参考:ACM紫书 第五章 P108 【排序与检索】

 

下面的代码中有些 提示性输出,想Ac 需删除提示性输出语句,读者自行修改。

#include <cstdio>
#include <algorithm>
using namespace std;
const int maxn = 10000;

int main(void)
{
    int n,q,numarr[maxn],i,x,p,Case=0;
    while(scanf("%d%d",&n,&q)==2 && n)
    {
        printf("CASE# %d:\n",++Case);
        for(i=0; i<n; i++)
        {
            scanf("%d",&numarr[i]);
        }
        sort(numarr,numarr+n);
        while(q--)
        {
            scanf("%d",&x);

            printf("%d--%p\n",*numarr,numarr);
            printf("%d--%p\n",*lower_bound(numarr,numarr+n,x),lower_bound(numarr,numarr+n,x));

            p=lower_bound(numarr,numarr+n,x)- numarr;
            printf("p = %d\n",p);
            if(numarr[p]==x)printf("%d found at %d\n",x,p+1);
            else printf("%d not found\n",x);
        }
    }
    return 0;
}

  

posted @ 2016-07-19 11:06  马丁黄瓜啊  阅读(291)  评论(0编辑  收藏  举报