Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- using namespace std;
- const int K = 10;
- int n;
- vector<int> query(vector<int> v) {
- if (v.size() == 0) {
- return vector<int> (n, 1e9+7);
- }
- cout<<v.size();
- for (int x: v) cout<<" "<<x+1;
- cout<<endl;
- vector<int> ans(n);
- for (int i=0; i<n; i++) cin>>ans[i];
- return ans;
- }
- vector<int> mn[K][2];
- int main() {
- cin>>n;
- for (int b=0; b<K; b++) {
- vector<int> zero, one;
- for (int i=0; i<n; i++)
- if (i & (1<<b)) one.push_back(i);
- else zero.push_back(i);
- mn[b][0] = query(zero);
- mn[b][1] = query(one);
- }
- cout<<-1<<endl;
- for (int i=0; i<n; i++) {
- int ans = 1e9+7;
- for (int b=0; b<K; b++)
- if (i & (1<<b)) ans = min(ans, mn[b][0][i]);
- else ans = min(ans, mn[b][1][i]);
- cout<<ans<<" ";
- }
- cout<<endl;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement