// اَللَهُمَ صَلِ عَلَىَ مُحَمَدٍ وَ آلِ مُحَمَدٍ
#include "bits/stdc++.h"
#include <iostream>
#include <vector>
#include <string>
#include <algorithm>
#include <cmath>
#include <map>
#include <set>
#include <queue>
#include <thread>
#include <fstream>
#include <stack>
using namespace std ;
#define int long long
#define pb push_back
#define si size()
#define fi first
#define se second
#define all(a) a.begin(),a.end()
#define applejuice ios::sync_with_stdio(false) ; cin.tie(nullptr) ; cout.tie(nullptr) ;
const int inf=1e18 ;
const int mod=1e9+7 ;
int tt=1 ;
vector<int> p ;
int a[157] ;
int que(vector<int> u , int e , int l , int r)
{
int n=r-l+2 ;
cout << n << " " ;
for(int i=l ; i<=r ; i++) {cout << u[i] << " " ;}
cout << e << endl ;
int d ;
cin >> d ;
return d ;
}
void solve()
{
cout.flush() ;
int n ;
cin >> n ;
for(int i=1 ; i<=n ; i++)
{
int d=que(p,i,0,p.si-1) ;
if(d==p.si+1) {a[i]=p.si+1 ; p.pb(i) ; continue ;}
int l=0 , r=p.si-1 , mid ;
while(l<=r)
{
mid=(l+r)/2 ;
int d=que(p,i,l,mid) ;
if(d==1) {a[i]=a[p[l]] ; break ;}
else if(d==mid-l+2) {l=mid+1 ;}
else {a[i]=a[p[r]] ; r=mid-1 ;}
}
}
cout << "0 " ;
for(int i=1 ; i<=n ; i++) {cout << a[i] << " " ;}
}
signed main()
{
//wrong
applejuice ;
//cin >> tt ;
while(tt--) {solve() ;}
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |