Advertisement
RaFiN_

cf 744B

Jul 15th, 2020
1,135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.93 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. const int K = 10;
  5. int n;
  6. vector<int> query(vector<int> v) {
  7.     if (v.size() == 0) {
  8.         return vector<int> (n, 1e9+7);
  9.     }
  10.     cout<<v.size();
  11.     for (int x: v)  cout<<" "<<x+1;
  12.     cout<<endl;
  13.  
  14.     vector<int> ans(n);
  15.     for (int i=0; i<n; i++) cin>>ans[i];
  16.     return ans;
  17. }
  18.  
  19. vector<int> mn[K][2];
  20.  
  21. int main() {
  22.     cin>>n;
  23.  
  24.     for (int b=0; b<K; b++) {
  25.         vector<int> zero, one;
  26.         for (int i=0; i<n; i++)
  27.             if (i & (1<<b)) one.push_back(i);
  28.             else            zero.push_back(i);
  29.  
  30.         mn[b][0] = query(zero);
  31.         mn[b][1] = query(one);
  32.     }
  33.  
  34.     cout<<-1<<endl;
  35.     for (int i=0; i<n; i++) {
  36.         int ans = 1e9+7;
  37.         for (int b=0; b<K; b++)
  38.             if (i & (1<<b)) ans = min(ans, mn[b][0][i]);
  39.             else            ans = min(ans, mn[b][1][i]);
  40.         cout<<ans<<" ";
  41.     }
  42.     cout<<endl;
  43. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement