Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Write nodeour code here
- #include <bits/stdc++.h>
- #include <ext/pb_ds/assoc_container.hpp>
- #include <ext/pb_ds/tree_policy.hpp>
- #define mp make_pair
- #define pb(a) push_back(a)
- #define pp pop_back()
- #define all(v) (v.begin(), v.end())
- #define alar (a + 1, a + 1 + n)
- #define ff first
- #define ss second
- #define sz(a) (int)(a.size())
- #define ffor(i, a, b) for (int i = a; i <= b; i++)
- #define rloop(i, c, d) for (int i = c; i >= d; i--)
- #define ll long long
- #define vc vector<ll>
- #define pii pair<ll, ll>
- #define mii map<ll, ll>
- #define mod 1000000007
- #define MAX 200005
- #define endl "\n"
- #define o(x) cout << x << endl
- using namespace std;
- using namespace __gnu_pbds;
- typedef tree<int, null_type, less<int>, rb_tree_tag, tree_order_statistics_node_update> ordered_set;
- const int mod2 = 998244353;
- vector<bool> vis(MAX, false);
- vector<int> g[MAX];
- int maxi = 0;
- void solve()
- {
- int n;
- cin >> n;
- vector<int>a;
- ll ev = 1;
- map<ll,int>m;
- for(int i=1;i<=n;i++)
- {
- {
- a.pb(ev);
- ev = ev * 2;
- m[ev]++;
- if (ev > 1000000000)
- break;
- }
- int con = 3;
- ffor(i, sz(a) + 1, n)
- {
- if (m[con] == 0)
- a.pb(con);
- else
- {
- con++;
- a.pb(con);
- }
- con++;
- }
- for (auto it : a)
- {
- cout << it << " ";
- }
- cout << endl;
- fflush(stdout);
- int b[n + 1];
- for(int i=1;i<=n;i++)
- cin >> b[i];
- vector<ll> c;
- for(int i=1;i<=n;i++)
- {
- c.pb(a[i - 1]);
- }
- for(int i=1;i<=n;i++) c.pb(b[i]);
- set<ll> st;
- ll sum = 0;
- ffor(i, 0, sz(c) - 1)
- {
- st.insert(c[i]);
- sum += c[i];
- }
- sum /= 2;
- // o(sum);
- vc ans;
- int val = 2 * n;
- while (sum > 0)
- {
- bool flag = false;
- int ind;
- for (auto it : st)
- {
- if (it <= sum)
- {
- flag = true;
- ind = it;
- }
- else
- break;
- }
- if (flag == false)
- break;
- sum = sum - ind;
- ans.pb(ind);
- st.erase(ind);
- val--;
- if (sum < 0)
- break;
- }
- for (auto it : ans)
- cout << it << " ";
- cout << endl;
- fflush(stdout);
- }
- // 2 4 6 8
- int main()
- {
- ios_base::sync_with_stdio(false);
- cin.tie(NULL);
- cout.tie(NULL);
- int t;
- cin >> t;
- ffor(l, 1, t)
- {
- // cout << "Case #" << l << ":"
- // << " ";
- solve();
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement