Submission #381710

#TimeUsernameProblemLanguageResultExecution timeMemory
381710MohamedAhmed04Political Development (BOI17_politicaldevelopment)C++14
27 / 100
302 ms312684 KiB
#include <bits/stdc++.h>

using namespace std ;

const int MAX = 5e4 + 10 ;

vector<int>v[MAX] ;
int n , k ;

int ans = 0 ;

vector<int>taken ;
bitset<MAX>mark[MAX] ;

bool check(int x)
{
	for(auto &i : taken)
	{
		if(!mark[x][i])
			return false ;
	}
	return true ;
}

void solve(vector<int>&v1 , int idx)
{
	if(idx == v1.size())
	{
		ans = max(ans , (int)(taken.size())) ;
		return ;
	}
	if(check(v1[idx]))
	{
		taken.push_back(v1[idx]) ;
		solve(v1 , idx+1) ;
		taken.pop_back() ;
	}
	solve(v1 , idx+1) ;
}

int main()
{
	ios_base::sync_with_stdio(0) ;
	cin.tie(0) ;
	cin>>n>>k ;
	for(int i = 0 ; i < n ; ++i)
	{
		int sz ;
		cin>>sz ;
		v[i].resize(sz) ;
		for(auto &j : v[i])
		{
			cin>>j ;
			mark[i][j] = 1 ;
		}
	}
	for(int i = 0 ; i < n ; ++i)
	{
		if(v[i].size() < k)
		{
			taken.push_back(i) ;
			solve(v[i] , 0) ;
			taken.pop_back() ;
		}
	}
	return cout<<ans<<"\n" , 0 ;
}		

Compilation message (stderr)

politicaldevelopment.cpp: In function 'void solve(std::vector<int>&, int)':
politicaldevelopment.cpp:27:9: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |  if(idx == v1.size())
      |     ~~~~^~~~~~~~~~~~
politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:59:18: warning: comparison of integer expressions of different signedness: 'std::vector<int>::size_type' {aka 'long unsigned int'} and 'int' [-Wsign-compare]
   59 |   if(v[i].size() < k)
      |      ~~~~~~~~~~~~^~~
#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...