Submission #1225722

#TimeUsernameProblemLanguageResultExecution timeMemory
1225722maomaoCarnival (CEOI14_carnival)C++20
0 / 100
0 ms408 KiB
#include <iostream>
#include <vector>
using namespace std;
#define pb push_back

vector<int> v;
bool query(int l, int r, int i) {
	int sz = r-l+2;
	cout << sz << ' ';
	for(int k : v) cout << k << ' ';
	cout << i << endl;
	cout << flush;
	
	int rep; cin >> rep;
	return (rep==sz); //if true: i is a new type
}

int main() {
	int n; cin >> n;
	int c = 1;
	int ans[n+1]; ans[1] = 1;
	for(int i = 2; i <= n; i++) {
		int l = 0, r = v.size() - 1;
		if(query(l, r, i)) {
			c++;
			ans[i] = c;
			continue;
		}
		
		while(l <= r) {
			int mid = (l+r)/2;
			if(query(l, mid, i)) l = mid+1;
			else r = mid - 1;
		}
		ans[i] = ans[v[l]];
	}
	
	cout << 0 << ' ';
	for(int k : ans) cout << k << ' ';
	cout << endl << flush;
	return 0;
}
#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...