64分,第一个Wa,第五个TLE,求大佬相助
查看原帖
64分,第一个Wa,第五个TLE,求大佬相助
1033360
retamian楼主2023/7/11 21:32
#include <iostream>
#include <math.h>
using namespace std;
long long a[16000000];
long long b[20202020];
int yanzheng;
int main()
{long long n,c;
cin>>n>>c;
for(long long i=1;i<=n;i++)
cin>>a[i];

for(long long i=1;i<=c;i++)
{long long L=1;
long long R=n;
cin>>b[i];
yanzheng=0;
while(L<=R)
  {
    long long zhong=L+(R-L)/2;
    if(b[i]==a[zhong]) 
     {do zhong--;
      while(b[i]==a[zhong]);
       cout<<zhong+1<<" ";
       yanzheng=1;
       break;
     }
     else if(b[i]>a[zhong])
      L=zhong+1;
      else R=zhong-1;
  }
       if(yanzheng==0) 
	   	cout<<-1<<" ";
	   	      
}
return 0;
}

感谢大佬

2023/7/11 21:32
加载中...