답안 #996388

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
996388 2024-06-10T14:31:36 Z cnn008 사육제 (CEOI14_carnival) C++17
0 / 100
2 ms 600 KB
#include "bits/stdc++.h"
using namespace std;

#ifdef N_N_C
#include "debug.h"
#else
#define cebug(...) "Arya"
#endif

#define int long long

const int N=105;
const int mod=1e9+7;

int n,c=1,a[N];
vector <int> v;
void sol(){
	cin>>n;
	a[n]=c;
	v.push_back(n);
	auto ask = [&](vector <int> &arya) -> int{
		assert(!arya.empty());
		cout<<(int)arya.size()<<" ";
		for(auto x:arya) cout<<x<<" ";
		cout<<endl;
		int q;
		cin>>q;
		return q;
	};
	auto find = [&](int i) -> void{
		int l=i+1,r=n,pos=-1;
		while(l<=r){
			int mid=(l+r)>>1;
			vector <int> cecilia;
			for(auto x:v){
				if(x>mid) continue;
				cecilia.push_back(x);
			}
			if(cecilia.empty()){
				l=mid+1;
				continue;
			}
			int val1=ask(cecilia);
			cecilia.push_back(i);
			int val2=ask(cecilia);
			cecilia.pop_back();
			if(val1==val2){
				pos=*max_element(cecilia.begin(),cecilia.end());
				r=mid-1;
			}else l=mid+1;
            //cerr<<"cb : "<<i<<" "<<pos<<endl;
		}
		if(pos==-1) a[i]=++c,v.push_back(i);
		else a[i]=a[pos];
	};
	for(int i=n-1; i>=1; i--) find(i);
	cout<<"0 ";
	for(int i=1; i<=n; i++) cout<<a[i]<<" ";
	cout<<endl;
}
signed main(){
	ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    // freopen(".inp", "r", stdin);
    // freopen(".out", "w", stdout);
    int tt=1;
    //cin>>tt; 
    while(tt--){
    	sol();
    }
    cerr << "\nTime elapsed: " << 1000.0 * clock() / CLOCKS_PER_SEC << " ms.\n";
    return 0;
}
/**  /\_/\
*   (= ._.)
*   / >💖 \>💕
**/

Compilation message

carnival.cpp:74:9: warning: "/*" within comment [-Wcomment]
   74 | /**  /\_/\
      |
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 344 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 600 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 2 ms 600 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Runtime error 1 ms 600 KB Execution killed with signal 11
2 Halted 0 ms 0 KB -