这题样例是不是有问题
查看原帖
这题样例是不是有问题
1214197
MaCity楼主2024/9/6 22:26
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+5;
int n,m; 
long long a[N],b[N];
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(a+1,a+n+1);
	sort(b+1,b+m+1);
	for(int i = 1; i <= n; i++){
		int l = 1,r = m;
		while(l<=r){
			int mid = (l+r)/2;
			if(b[mid]==a[i]){
				cout << a[i] << " ";
				break;
			}
			else if(b[mid]<a[i]){
				l = mid+1;
			} else {
				r = mid-1;
			}
		}
	}
	return 0;
}

输入:

4 3

2 15 6 8

8 9 2

输出:

2 8

结果:20

#include <iostream>
#include <algorithm>
using namespace std;
int n,t,m,mid;
int a[100005],b[100005];
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];
    int k=1;
    sort(b+1,b+1+m);
    for(int i=1;i<=n;i++)
    {
        int l=1;
        int h=m;
        while(l<=h)
        {
            mid=(l+h)/2;
            if(b[mid]==a[i]) {
				cout<<a[i]<<' ';
				break;
			}
            else if(b[mid]>a[i]) 
			h=mid-1;
            else if(b[mid]<a[i]) 
			l=mid+1;
            else break;
        }
    }
    return 0;
}


输入:

4 3

2 15 6 8

8 9 2

输出:

2 8

结果:AC

2024/9/6 22:26
加载中...