问题标题: 酷町堂:2771怎么超时了?

0
0
金一铭
金一铭
新手光能
新手光能

我的2771超时10分代码:

#include<iostream> 
using namespace std;
int f[100000],a[100000],b[100000],t[100000];
int main()
{
   int n1,n2;
   cin>>n1>>n2;
   for(int i=1;i<=n1;i++)
   cin>>a[i];
   for(int i=1;i<=n2;i++)
   cin>>b[i];
   int m=max(n1,n2);
   for(int i=1;i<=n1;i++)
   {
    for(int j=1;j<=n2;j++)
    if(a[i]==b[j])
       {
        t[j]=i;
       }
   }
  for(int i=1;i<=n2;i++)
  {
    if(t[i]!=0)cout<<t[i]<<endl;
    else cout<<-1<<endl;
  }
}

我错在哪里?谁来帮我找错?


0
赵朗
赵朗
高级光能
高级光能

2分查找 咳咳

凑热闹而已

0
沈峻宇
沈峻宇
资深天翼
资深天翼

呃呃呃呃呃呃…………………………

0
0
0
0
0
0
被禁言 汪子晨
汪子晨
修练者
修练者

 

同志,你这个时间法度,哎!

就是最小值也

哎!

循环不超时最多次数:

哎!不说了……

四重循环呐!!!

哎!不说了……

0
0
0
桑烁
桑烁
高级光能
高级光能

题目都说了是二分,你用二分了吗...

0
金一铭
金一铭
新手光能
新手光能

sb

金一铭在2019-02-12 21:24:12追加了内容

不好意思,这不是我骂的,是别人盗了我的号

0
0
0
沙宸安
沙宸安
中级启示者
中级启示者

额。。。这好像不算二分。。。

0
0
蔡乐毅
蔡乐毅
高级光能
高级光能
  • int l=1,r=n,mid;
  • while(l<=r){
  • mid=(l+r)/2;
  • if(a[mid]<=x) l=mid+1;
  • else r=mid-1;
  • }
  • if(a[l]==x) p=l;
  • else if(a[r]==x) p=r;
  • else p=0;
  • if(p!=0) cout<<p;
  • else cout<<-1;
  • cout<<endl;
0
黄依成
黄依成
中级天翼
中级天翼

楼主写法:10分

桶:60分

桶+O3:90分

桶+O3+卡常:100分

0
我要回答