???你为什么要
**cout<<"####";**
?
by mazuqi @ 2023-10-18 17:45:02
应该是
```cpp
(l+r)>>1
```
by QBW1117 @ 2023-10-18 17:51:13
```cpp
#include<iostream>
#include<algorithm>
using namespace std;
int n,m,zn[10005],zm[10005],ans[1005];
int main(){
cin>>n>>m;
for(int i=1;i<=n;i++) cin>>zn[i];
for(int i=1;i<=m;i++) cin>>zm[i];
sort(zm,zm+m+1);
for(int i=1;i<=n;i++){
int l=1,r=m,mid;
while(l<=r){
//cout<<"####"<<mid<<"\n";
mid=(l+r)>>1;
if(zn[i]==zm[mid]){
cout<<zn[i]<<" ";break;
}//cout<<"%"<<zn[i]<<"$";
if(zn[i]<zm[mid]) l=mid+1;
else r=mid-1;
}cout<<"\n";
}
}
```
额,改了一下,还是10分
by 张一2010 @ 2023-10-18 17:59:33
@[QBW1117](/user/933814)
by 张一2010 @ 2023-10-18 17:59:58
@[QBW1117](/user/933814) 这个都行吧,+号优先级大于左移右移
by Kazeno_Akina @ 2023-10-18 18:14:05
你不用输出回车罢?
by Kazeno_Akina @ 2023-10-18 18:15:09
而且你数组开小了!!!@[张一2010](/user/1038838)
by Kazeno_Akina @ 2023-10-18 18:21:16
而且你二分的小于大于也写反了。你真的理解这道题的二分了吗……
by Kazeno_Akina @ 2023-10-18 18:25:45
@[DoraYaoxy](/user/612567) 感谢大佬,是我逻辑错了,已AC
by 张一2010 @ 2023-10-18 22:32:11