一个句号 @ 2023-04-30 08:09:39
134WA,5TLE,2AC
#include<iostream>
#include<cstdio>
#define ll long long
using namespace std;
int n,m;
ll a[1000006],x;
ll find(ll x){
ll l=1,r=n;
while(l<=r){
if(l==r&&a[l]!=x)
return -1;
ll mid=(l+r)>>1;
if(a[mid]>x)r=mid;
if(a[mid]<x)l=mid+1;
if(a[mid]==x){
while(a[mid]==x){
mid--;
}
return mid+1;
}
}
}
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++)
scanf("%lld",&a[i]);
for(int i=1;i<=m;i++){
scanf("%lld",&x);
x=find(x);
printf("%lld ",x);
}
return 0;
}
by zfj123456 @ 2023-04-30 08:35:37
第一点哈,如果输入为
5 1
0 0 0 0 0
0
那么输出为-3
很怪对吧原因是a[0]默认为0,初始化a[0]=-1即可,至于TLE……我知道你很急,但你先别急
@一个句号