TLE求助

P2249 【深基13.例1】查找

uhbia @ 2023-07-31 19:09:13

c++ ss是我的二分的函数

#include<bits/stdc++.h>
using namespace std;
int n,m,i,j,mid,a[1000001],b[10001];
int ss(int z1,int z2)
{
    mid=(z1+z2)/2;
    if(mid>b[j])
    {
        z1=mid;
        ss(z1,z2);
    }
    if(mid<b[j])
    {
        z2=mid;
        ss(z1,z2);
    }
    if(mid==b[j])
    {
        i=j;
        while(a[i]==mid)
        {
            i--;
        }
        cout<<i+1<<" ";
        return 0;
    }
    cout<<-1<<" ";
    return 0;
}
int main()
{
    cin>>n>>m;
    for(i=1;i<=n;i++)
        cin>>a[i];
    for(j=1;j<=m;j++)
    {
        cin>>b[j];
        ss(1,n);
    }
    return 0;
}

|