Submission #1313019

#TimeUsernameProblemLanguageResultExecution timeMemory
1313019neonglitchNorela (info1cup18_norela)C++20
75 / 100
1095 ms444 KiB
#include <iostream>
#include <vector>
using namespace std;
typedef long long ll;
#define int ll
const int P=100;
ll s[P],pw2[P];
main()
{
	ios::sync_with_stdio(0);
	cin.tie(0);
	cout.tie(0);
	pw2[0]=1;
	for(int i=1;i<62;i++)pw2[i]=pw2[i-1]*2;
	int n,m;
	cin>>n>>m;
	for(int i=0;i<m;i++)
	{
		int sz;
		cin>>sz;
		for(int j=0;j<sz;j++)
		{
			int x;
			cin>>x;
			x--;
			s[i]|=pw2[x];
		}
	}
	int cn=m+2,ap=pw2[n];
	for(int mk=0;mk<pw2[m];mk++)
	{
		ll fnl=0;
		int cnt=0,val=0;
		for(int i=0;i<m;i++)
		{
			if(mk&pw2[i])
			{
				cnt++;
				fnl^=s[i];
				val+=(pw2[m-1-i]);
			}
		}
		if(fnl==(pw2[n]-1))
		{
			if(cnt<cn)
			{
				cn=cnt;
				ap=val;
			}
			else if(cnt==cn and val>ap){
				ap=val;
			}
		}
	}
	cout<<cn<<endl;
	for(int i=m-1;i>=0;i--)
	{
		if(ap&pw2[i])
		{
			cout<<m-i<<' ';
		}
	}
	cout<<endl;
}

Compilation message (stderr)

norela.cpp:8:1: warning: ISO C++ forbids declaration of 'main' with no type [-Wreturn-type]
    8 | main()
      | ^~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...