Submission #164479

#TimeUsernameProblemLanguageResultExecution timeMemory
164479oolimryCarnival (CEOI14_carnival)C++14
100 / 100
20 ms376 KiB
#include <bits/stdc++.h>

using namespace std;

int main(){
	int n;
	cin >> n;
	vector<int> unique;
	int answer[n+1];
	for(int i = 1;i <= n;i++){
		cout << unique.size() + 1 << " ";
		for(int x : unique) cout << x << " ";
		cout << i << " ";
		cout << endl;
		
		int no;
		cin >> no;
		if(no == unique.size()){
			int low = -1;
			int high = unique.size();
			while(true){
				if(low == high - 1) break;
				int s = (low + high) / 2;
				cout << s + 2 << " ";
				for(int j = 0;j <= s;j++){
					cout << unique[j] << " ";
				}
				cout << i << " ";
				cout << endl;
				
				int no;
				cin >> no;
				if(no == s + 1){
					high = s; ///overlap
				}
				else{
					low = s; ///i is diff from 0...s
				}
			}
			answer[i] = high;
		}
		else{
			answer[i] = unique.size();
			unique.push_back(i);
		}
	}
	cout << "0 ";
	for(int i = 1;i <= n;i++){
		cout << answer[i] + 1 << " ";
	}
	return 0;
}

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:18:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(no == unique.size()){
      ~~~^~~~~~~~~~~~~~~~
#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...