不知道怎么错了
查看原帖
不知道怎么错了
1336507
fez1楼主2024/4/28 19:36

有没有大佬告诉我怎么出错了qwq看了好久没看出来```cpp #include #include using namespace std; long long a[1000001]; long long b[1000001]; int main() { long long n; cin>>n; long long m; cin>>m; for(long long i=0;i<n;i++) cin>>a[i]; for(long long i=0;i<m;i++) cin>>b[i]; int i=0; while(m--) { long long r=n-1; long long l=0; int mid=(r+l)/2; while(1) { if(b[i]==a[mid]) { if(b[i]!=a[mid-1]) { cout<<mid+1<<" "; break; } else mid--; } if(b[i]<a[mid]) { if(r!=mid) { r=mid; mid=(r+l)/2; } else { cout<<-1<<" "; break; } } if(b[i]>a[mid]) { if(l!=mid) { l=mid+1; mid=(r+l)/2; } else { cout<<-1<<" "; break; } } } i++; } }

2024/4/28 19:36
加载中...