제출 #119040

#제출 시각아이디문제언어결과실행 시간메모리
119040puppies_and_rainbows사육제 (CEOI14_carnival)C++14
100 / 100
14 ms384 KiB
#include <bits/stdc++.h>

using namespace std;

bool taken[155];
int col[155];
int cntcol=0;
int n;
signed main()
{
	cin>>n;
	for(int tt=1; tt<=n; tt++)
	{
		vector<int> ask;
		for(int i=1; i<=tt; i++)
		{
			if(!taken[i])
			{
				ask.push_back(i);
			}
		}
		cout<<ask.size()<<" ";
		for(auto i:ask) cout<<i<<" ";
		cout<<endl;
//		ask.clear();
		int cac;
		cin>>cac;
		if(cac==ask.size())
		{
			cntcol++;
			col[tt]=cntcol;
		}
		else
		{
			int lo=1, hi=tt-1;
			while(lo<hi)
			{
				ask.clear();
				int mid=(lo+hi+1)/2;
				for(int i=mid; i<=tt; i++)
				if(!taken[i])
				{
					ask.push_back(i);
				}
				cout<<ask.size()<<" ";
				for(auto i:ask) cout<<i<<" ";
				cout<<endl;
				cin>>cac;
				if(cac==ask.size())
				{
					hi=mid-1;
				}
				else
				{
					lo=mid;
				}
			}
			col[tt]=col[lo];
			taken[tt]=true;
		}
	}
	cout<<0<<" ";
	for(int i=1; i<=n; i++)
	{
		cout<<col[i]<<" ";
	}
	cout<<endl;
}

컴파일 시 표준 에러 (stderr) 메시지

carnival.cpp: In function 'int main()':
carnival.cpp:28:9: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   if(cac==ask.size())
      ~~~^~~~~~~~~~~~
carnival.cpp:49:11: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     if(cac==ask.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...