#include <iostream>
#include <algorithm>
#include <iterator>
#include <vector>
#include <set>
int main() {
std::vector<std::vector<int>> array2d = {
{4, 3, 3, 2},
{30, 10, 9},
{10},
{1, 1, 6, 7, 7, 7, 8},
};
std::set<int> uniqueValues;
for (const auto& row : array2d) {
uniqueValues.insert(row.begin(), row.end());
}
for (const auto& n : uniqueValues) {
std::cout << n << " ";
}
}
/*
run:
1 2 3 4 6 7 8 9 10 30
*/