有没有大佬可以帮忙改一下 谢谢

P1571 眼红的Medusa

```cpp #include <bits/stdc++.h> using namespace std; int n, m; int a[100010], b[100010]; int find(int x) { int l = 1, r = m, ans = -1; while(l <= r) { int mid = (l + r) / 2; if (b[mid] == x) { return true; } else if(b[mid] > x) r = mid - 1; else l = mid + 1; } return false; } int main() { cin >> n >> m; for(int i = 1; i <= n; i++) cin >> a[i]; for(int i = 1; i <= m; i++) cin >> b[i]; sort(b + 1, b + m + 1); for(int i = 1; i <= n; i++) if(find(a[i])) cout << a[i] << ' '; cout << endl; return 0; } ``` @[______QAQ______](/user/1092781) 先看看,看不懂的私信
by yeqiwei @ 2023-10-17 18:37:34


@[______QAQ______](/user/1092781) 要按在科技创新奖获奖名单中的先后次序输出
by Wanderer_01 @ 2023-10-17 18:39:28


```cpp #include<bits/stdc++.h> using namespace std; int read() { int x=0,f=1; char ch=getchar(); while(ch<'0'||ch>'9') { if(ch=='-') f=-1; ch=getchar(); } while('0'<=ch&&ch<='9') { x=(x<<1)+(x<<3)+(ch&15); ch=getchar(); } return x*f; } const int N=1e5+5; int n,m; map<int,int> mp; int a[N]; signed main(){ n=read(),m=read(); for(int i=1; i<=n; i++) a[i]=read(); for(int i=1; i<=m; i++) mp[read()]=1; for(int i=1; i<=n; i++) if(mp[a[i]]) printf("%d ",a[i]); } ``` 偷懒也可以用 map
by Wanderer_01 @ 2023-10-17 18:42:23


感谢大佬们(鞠躬!)
by _____QWQ_____ @ 2023-10-17 18:43:58


|