ds02_intersection.cpp
cpp
#include <algorithm>
#include <iostream>
#include <string>
#include <vector>
bool inSortedVector(std::vector<int>& v, int target) {
auto lb = std::lower_bound(v.begin(), v.end(), target);
if (lb == v.end()) return false;
return *lb == target;
}
int main() {
std::ios_base::sync_with_stdio(false);
std::cin.tie(nullptr);
std::vector<int> A, B;
int N, M;
std::cin >> N >> M;
for (int i = 0; i < N; i++) {
int t;
std::cin >> t;
A.push_back(t);
}
for (int i = 0; i < M; i++) {
int t;
std::cin >> t;
B.push_back(t);
}
std::sort(A.begin(), A.end());
std::sort(B.begin(), B.end());
for (std::vector<int>::size_type i = 0; i < A.size(); i++) {
if (i > 0 && A[i] == A[i - 1]) continue;
if (inSortedVector(B, A[i])) {
std::cout << A[i] << " ";
}
}
std::cout << "\n";
}See on GitHub
Last Updated: 15/1/2567 13:25:21 (UTC+7)