# 每个测试点都是wrong anwer,可以帮忙看看么
查看原帖
# 每个测试点都是wrong anwer,可以帮忙看看么
732794
tangmumao楼主2022/6/6 22:03
#include <stdio.h>
#include <stdlib.h>
int a[10000000];
int main()
{
    int n,m,l,t,r,mid,i;
    scanf("%d%d",&n,&m);
    for(i=0;i<n;i++)
        scanf("%d",&a[i]);
    for(i=0;i<m;i++)
    {
        scanf("%d",&t);
        int ans=0;
        l=0;r=n;
        while(l<r)
        {
            mid=(l+r)/2;
          if(t==a[mid])
          {
              ans=mid;
               r=mid;
          }

          else if(t<a[mid])
          r=mid;
          else l=mid+1;
        }
        if(t==a[ans])
            printf("%d\n",ans+1);
        else printf("-1\n");

    }
}

2022/6/6 22:03
加载中...