求调20pts(调对必关)
查看原帖
求调20pts(调对必关)
1455989
linkairong楼主2025/8/4 20:28
#include<bits/stdc++.h>
using namespace std;
const int N=1e5+5;
long long a[N],b[N],n,m,c[N],chang;
int main(){
	scanf("%lld%lld",&n,&m);
	for(int i=1;i<=n;++i){
		scanf("%lld",&a[i]);
	}
	for(int i=1;i<=m;++i){
		scanf("%lld",&b[i]);
	}
	sort(a+1,a+n+1);
	sort(b+1,b+m+1);
	for(int i=1;i<=n;++i){
		int l=1,r=m,fen;
		while(l<=r){
			fen=(l+r)/2;
			if(b[fen]==a[i]){
				c[++chang]=a[i];
				break;
			}else if(b[fen]>a[i]){
				r=fen-1;
			}else{
				l=fen+1;
			}
		}
    }
    sort(c+1,c+chang+1);
    for(int i=1;i<=chang;++i){
    	printf("%lld ",c[i]);
	}
	return 0;
}

已无力

2025/8/4 20:28
加载中...