我与题解对过了,为什么10分??

P1571 眼红的Medusa

???你为什么要 **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


|