Advertisement
Guest User

Untitled

a guest
Feb 23rd, 2020
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.69 KB | None | 0 0
  1. #include <iostream>
  2. #include <vector>
  3. #include <set>
  4. #include <cmath>
  5. #include <algorithm>
  6. #include <string>
  7.  
  8. using namespace std;
  9.  
  10. #define fastInp ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
  11. typedef long long ll;
  12. typedef long double ld;
  13.  
  14. const ll SIZE = 5 * 1e5, MOD = 1e9 + 7;
  15. ll n, m, q;
  16. vector<ll> vec;
  17.  
  18. int main() {
  19. fastInp;
  20.  
  21. cin >> q;
  22.  
  23. while (q--) {
  24. ll n;
  25. cin >> n;
  26.  
  27. vec.resize(n);
  28. vector<ll> ans;
  29. vector<bool> used;
  30. used.resize(n * 2 + 2);
  31. ans.resize(n * 2);
  32. bool flag = false;
  33. for (int i = 0; i < n; i++) {
  34. cin >> vec[i];
  35. if (used[vec[i]]) flag = true;
  36. used[vec[i]] = true;
  37. ans[i * 2] = vec[i];
  38. }
  39.  
  40.  
  41. for (int i = 0; i < n * 2; i++) {
  42. if (i % 2 != 0) {
  43. ll ind = ans[i - 1];
  44. while (used[ind]) {
  45. ind++;
  46. }
  47. if (ind == n * 2 + 1) {
  48. flag = true;
  49. }
  50. else {
  51. used[ind] = true;
  52. ans[i] = ind;
  53. }
  54. }
  55. }
  56. if (flag) {
  57. cout << "-1\n";
  58. }
  59. else {
  60. for (int i = 0; i < ans.size(); i++) cout << ans[i] << " ";
  61. cout << "\n";
  62. }
  63. }
  64.  
  65. return 0;
  66. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement