Submission #172696

#TimeUsernameProblemLanguageResultExecution timeMemory
172696nafis_shifatCarnival (CEOI14_carnival)C++14
100 / 100
12 ms424 KiB
#include<bits/stdc++.h>
#define pii pair<int,int>
#define ll long long
using namespace std;
const int mxn=160;
int main()
{
	int n;
	cin>>n;

	cout<<n<<" ";
	for(int i=1;i<=n;i++)cout<<i<<" ";
	cout<<endl;
    int lst;
    cin>>lst;

    vector<int> baps;
    baps.push_back(1);
    
    int dn[mxn]={};
    dn[1]=1;

    for(int i=n-1;i>0;i--)
    {
    	cout<<i<<" ";
    	for(int j=1;j<=i;j++)cout<<j<<" ";
    	cout<<endl;
        int t;
        cin>>t;

        if(t!=lst)
        {
        
        	baps.push_back(i+1);
        	dn[i+1]=1;

        }
        lst=t;
    }
    
   
    vector<int> p[mxn];

    for(int i=1;i<=n;i++)
    {
    	if(dn[i])continue;
    	
    	int lo=0;
    	int hi=baps.size()-1;
    	
    	int r;
    	while(1)
    	{
    		if(hi==lo)
    		{
    			r=hi;
    			break;
			}
    		int m=lo+hi>>1;
    		int t=m-lo+2;
    		cout<<t<<" "<<i<<" ";
    		for(int i=lo;i<=m;i++)
    		{
    			cout<<baps[i]<<" ";
				    			    			
			}
			
			cout<<endl;
			int x;
			cin>>x;
			if(x!=t)
			{
				hi=m;
			}
			else lo=m+1;	
    		
		}
		
		p[baps[r]].push_back(i);
		dn[i]=1;
    	
    }

    int res[mxn];



    for(int i=0;i<baps.size();i++)
    {
    	res[baps[i]]=i+1;
    	for(int j=0;j<p[baps[i]].size();j++)
    	{
    		res[p[baps[i]][j]]=i+1;
    	}
    }
    cout<<"0 ";
    for(int i=1;i<=n;i++)cout<<res[i]<<" ";
    cout<<endl;

	return 0;
}

Compilation message (stderr)

carnival.cpp: In function 'int main()':
carnival.cpp:59:15: warning: suggest parentheses around '+' inside '>>' [-Wparentheses]
       int m=lo+hi>>1;
             ~~^~~
carnival.cpp:88:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
     for(int i=0;i<baps.size();i++)
                 ~^~~~~~~~~~~~
carnival.cpp:91:19: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
      for(int j=0;j<p[baps[i]].size();j++)
                  ~^~~~~~~~~~~~~~~~~~
#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...