# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
381710 | MohamedAhmed04 | Political Development (BOI17_politicaldevelopment) | C++14 | 302 ms | 312684 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#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)
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
Fetching results... |