#include <iostream>
#include <vector>
#include <set>
std::vector<int> merge_sorted_unique(const std::vector<int>& vec1, const std::vector<int>& vec2) {
std::set<int> unique_elements(vec1.begin(), vec1.end());
unique_elements.insert(vec2.begin(), vec2.end());
return std::vector<int>(unique_elements.begin(), unique_elements.end());
}
int main() {
std::vector<int> vec1 = {1, 2, 2, 3, 7, 7, 7, 8, 9};
std::vector<int> vec2 = {0, 0, 4, 4, 4, 5, 6, 7, 7, 8};
std::vector<int> mergedVec = merge_sorted_unique(vec1, vec2);
for (int num : mergedVec) {
std::cout << num << " ";
}
}
/*
run:
0 1 2 3 4 5 6 7 8 9
*/