Submission #245682

#TimeUsernameProblemLanguageResultExecution timeMemory
245682nnnnnnnnnnnnnnnnCarnival (CEOI14_carnival)C++17
100 / 100
18 ms512 KiB
#include<bits/stdc++.h>
using namespace std;
typedef long long int ll;
typedef vector<int> vi;
typedef pair<int,int> ii;
int main()
{
	int n,i,j,k;
	cin >> n;
	int res[n+1];
	for(i=0;i<=n;++i)	res[i]=0;
	vector<vi> grp;
	grp.assign(n+1,vi());
	grp[1].push_back(1);
	int total_grp = 1;
	res[1] = 1;
	for(i=2;i<=n;++i)
	{
		vi ask;
		int l=1,r=total_grp,rep,ans;
		ask.push_back(i);
		for(j=l;j<=r;j++)
		{
			for(auto k:grp[j])
			{
				ask.push_back(k);
			}
		}
		cout<<ask.size()<<" ";
		for(auto j:ask)
		{
			cout<<j<<" ";
		}
		cout<<endl;
		cin>>rep;
		ask.clear();
		if(rep > r-l+1)
		{
			total_grp++;
			res[i] = total_grp;
			grp[total_grp].push_back(i);
		}
		else
		{
			while(l<=r)
			{
				int mid = (l+r)/2;
				ask.push_back(i);
				for(j=l;j<=mid;j++)
				{
					for(auto k:grp[j])
					{
						ask.push_back(k);	
					}
				}
			//	printf("a %d %d\n",l,mid);
				cout<<ask.size()<<" ";
				for(auto j:ask)		cout<<j<<" ";
				cout<<endl;
				cin>>rep;
				ask.clear();
				if(rep == mid-l+1)
				{
					if(mid-l+1==1)
					{
						ans = l;
						break;
					}
					r = mid;
				}
				else
				{
					l = mid+1;
				}
			}
			res[i] = ans;
			grp[ans].push_back(i);
		}
	}
	cout<<0<<" ";
	for(i=1;i<=n;++i)	cout<<res[i]<<" ";
	cout<<endl;
}

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:8:12: warning: unused variable 'k' [-Wunused-variable]
  int n,i,j,k;
            ^
carnival.cpp:77:11: warning: 'ans' may be used uninitialized in this function [-Wmaybe-uninitialized]
    grp[ans].push_back(i);
           ^
#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...