Submission #726778

#TimeUsernameProblemLanguageResultExecution timeMemory
726778penguin133Carnival (CEOI14_carnival)C++17
100 / 100
23 ms360 KiB
#include <bits/stdc++.h>
using namespace std;

#define int long long
#define pi pair<int, int>
#define pii pair<int, pi>
#define fi first
#define se second
#ifdef _WIN32
#define getchar_unlocked _getchar_nolock
#endif
mt19937_64 rng(chrono::steady_clock::now().time_since_epoch().count());

int qry(vector <int> &a){
	cout << (int)a.size() << ' ';
	for(auto i : a)cout << i << ' ';
	cout << endl;
	int ret; cin >> ret;
	return ret;
}

int A[200005];

void solve(){
	int n; cin >> n;
	int cnt = 0;
	for(int i=1;i<=n;i++){
		int lo = 1, hi = i - 1, ans = 0;
		while(lo <= hi){
			int mid = (lo + hi) >> 1;
			vector <int> x, y;
			for(int j=mid;j<i;j++)x.push_back(j);
			y = x;
			y.push_back(i);
			if(qry(x) == qry(y))ans = mid, lo = mid + 1;
			else hi = mid - 1;
		}
		if(!ans)A[i] = ++cnt;
		else A[i] = A[ans];
	}
	cout << "0 ";
	for(int i=1;i<=n;i++)cout << A[i] << ' ';
	cout << endl;
}

main(){
	ios::sync_with_stdio(0);cin.tie(0);
	int tc = 1;
	//cin >> tc;
	for(int tc1=1;tc1<=tc;tc1++){
		// cout << "Case #" << tc1 << ": ";
		solve();
	}
}

Compilation message (stderr)

carnival.cpp:46:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
   46 | main(){
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...