#include <bits/stdc++.h> //Andrei Alexandru a.k.a Sho10
#define ll long long
#define double long double
#pragma GCC optimize("O3")
#pragma GCC optimize("Ofast")
#define all(a) (a).begin(), (a).end()
#define f first
#define s second
#define pb push_back
#define mp make_pair
#define pi pair
#define rc(s) return cout<<s,0
#define endl '\n'
#define mod (10*10*10*10*10*10*10*10*10+7)
#define PI 3.14159265359
#define MAXN 100005
#define INF 1000000005
#define LINF 1000000000000000005ll
#define CODE_START ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0);
using namespace std;
ll n,c[155];
ll query(ll pos){
if(pos==0){
return 0;
}
cout<<pos<<' ';
for(ll i=1;i<=pos;i++)
{
cout<<i<<' ';
}
cout<<endl;
ll nr;
cin>>nr;
return nr;
}
ll query1(ll pos,ll x){
cout<<pos+1<<' ';
for(ll i=1;i<=pos;i++)
{
cout<<i<<' ';
}
cout<<x<<endl;
ll nr;
cin>>nr;
return nr;
}
int32_t main(){
//CODE_START;
cin>>n;
c[0]=1;
c[1]=1;
ll cnt=1,val=1;
for(ll i=2;i<=n;i++)
{
if(query(i)==cnt){
ll l=0,r=i-1;
while(l<r){
ll mid=(l+r)/2;
if(query(mid)==query1(mid,i)){
r=mid;
}else {
l=mid+1;
}
}
c[i]=c[l];
}else {
c[i]=++val;
cnt++;
}
}
cout<<0<<' ';
for(ll i=1;i<=n;i++)
{
cout<<c[i]<<' ';
}
}
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
19 ms |
364 KB |
Output is correct |
2 |
Correct |
16 ms |
364 KB |
Output is correct |
3 |
Correct |
7 ms |
364 KB |
Output is correct |
4 |
Correct |
4 ms |
364 KB |
Output is correct |
5 |
Correct |
18 ms |
364 KB |
Output is correct |
6 |
Correct |
19 ms |
364 KB |
Output is correct |
7 |
Correct |
12 ms |
364 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
23 ms |
376 KB |
Output is correct |
2 |
Correct |
21 ms |
364 KB |
Output is correct |
3 |
Correct |
8 ms |
364 KB |
Output is correct |
4 |
Correct |
5 ms |
364 KB |
Output is correct |
5 |
Correct |
19 ms |
364 KB |
Output is correct |
6 |
Correct |
19 ms |
364 KB |
Output is correct |
7 |
Correct |
19 ms |
364 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
17 ms |
364 KB |
Output is correct |
2 |
Correct |
18 ms |
364 KB |
Output is correct |
3 |
Correct |
19 ms |
364 KB |
Output is correct |
4 |
Correct |
5 ms |
364 KB |
Output is correct |
5 |
Correct |
15 ms |
364 KB |
Output is correct |
6 |
Correct |
15 ms |
364 KB |
Output is correct |
7 |
Correct |
19 ms |
364 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
18 ms |
364 KB |
Output is correct |
2 |
Correct |
21 ms |
364 KB |
Output is correct |
3 |
Correct |
9 ms |
364 KB |
Output is correct |
4 |
Correct |
4 ms |
364 KB |
Output is correct |
5 |
Correct |
16 ms |
364 KB |
Output is correct |
6 |
Correct |
15 ms |
364 KB |
Output is correct |
7 |
Correct |
25 ms |
364 KB |
Output is correct |
# |
결과 |
실행 시간 |
메모리 |
Grader output |
1 |
Correct |
26 ms |
364 KB |
Output is correct |
2 |
Correct |
21 ms |
364 KB |
Output is correct |
3 |
Correct |
16 ms |
364 KB |
Output is correct |
4 |
Correct |
11 ms |
364 KB |
Output is correct |
5 |
Correct |
10 ms |
364 KB |
Output is correct |
6 |
Correct |
7 ms |
364 KB |
Output is correct |
7 |
Correct |
5 ms |
364 KB |
Output is correct |