Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- #include <vector>
- #include <set>
- #include <cmath>
- #include <algorithm>
- #include <string>
- using namespace std;
- #define fastInp ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
- typedef long long ll;
- typedef long double ld;
- const ll SIZE = 5 * 1e5, MOD = 1e9 + 7;
- ll n, m, q;
- vector<ll> vec;
- int main() {
- fastInp;
- cin >> q;
- while (q--) {
- ll n;
- cin >> n;
- vec.resize(n);
- vector<ll> ans;
- vector<bool> used;
- used.resize(n * 2 + 2);
- ans.resize(n * 2);
- bool flag = false;
- for (int i = 0; i < n; i++) {
- cin >> vec[i];
- if (used[vec[i]]) flag = true;
- used[vec[i]] = true;
- ans[i * 2] = vec[i];
- }
- for (int i = 0; i < n * 2; i++) {
- if (i % 2 != 0) {
- ll ind = ans[i - 1];
- while (used[ind]) {
- ind++;
- }
- if (ind == n * 2 + 1) {
- flag = true;
- }
- else {
- used[ind] = true;
- ans[i] = ind;
- }
- }
- }
- if (flag) {
- cout << "-1\n";
- }
- else {
- for (int i = 0; i < ans.size(); i++) cout << ans[i] << " ";
- cout << "\n";
- }
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement