运行的时候,要么超时,要么答案错误,怎么优化?求大佬指教orz
查看原帖
运行的时候,要么超时,要么答案错误,怎么优化?求大佬指教orz
1076957
SeaDchen楼主2024/1/14 16:58
#include<iostream>
#include<algorithm>

using namespace std;

bool search(int a[],int r,int target){      // 
    int l = 0;
    while(l<=r){
        int m = l+(r-1)/2;
        if(a[m]<target) l = m+1;
        else if(a[m]>target)  r=m-1;
        else return true;
    }
    return false;
}



int main()
{
    int a[100000],b[100000];
    int n,m;
    cin>>n>>m;
    for(int i=0;i<n;i++)
    {
        cin>>a[i];
    }
    for (int i = 0; i < m; i++)
    {
        cin>>b[i];
    }
    sort(b,b+m);
    for(int i=0;i<n;i++)
    {
        int c = a[i]; 
        if(search(b,m,c)) cout<<a[i]<<" ";
    }
       
    return 0;
}

2024/1/14 16:58
加载中...