답안 #996425

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
996425 2024-06-10T14:59:52 Z cnn008 사육제 (CEOI14_carnival) C++17
0 / 100
2 ms 344 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=155;
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{
		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) break;
				cecilia.push_back(x);
			}
			if(cecilia.empty()){
				l=mid+1;
				continue;
			}
			cecilia.push_back(i);
			if(ask(cecilia)==(int)cecilia.size()-1){
				pos=*max_element(cecilia.begin(),cecilia.end());
				r=mid-1;
			}else l=mid+1;
		}
		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:69:9: warning: "/*" within comment [-Wcomment]
   69 | /**  /\_/\
      |
# 결과 실행 시간 메모리 Grader output
1 Incorrect 2 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 1 ms 344 KB Output is correct
2 Incorrect 1 ms 344 KB Incorrect
3 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Incorrect 1 ms 344 KB Incorrect
2 Halted 0 ms 0 KB -