Submission #783051

#TimeUsernameProblemLanguageResultExecution timeMemory
7830511075508020060209tcPolitical Development (BOI17_politicaldevelopment)C++14
4 / 100
3098 ms332608 KiB
#include<bits/stdc++.h> using namespace std; //#define int long long #define X first #define Y second int n;int K; set<int>st[50100]; bitset<50100>tbl[50100]; signed main(){ cin.tie(0); ios_base::sync_with_stdio(0); cin>>n>>K; for(int i=0;i<n;i++){ int d; cin>>d; for(int j=1;j<=d;j++){ int v; cin>>v; st[i].insert(v); tbl[i][v]=1; } tbl[i][i]=1; st[i].insert(i); } int ans=1; for(int i=0;i<n;i++){ vector<int>vc; for(auto it=st[i].begin();it!=st[i].end();it++){ vc.push_back(*it); } for(int A=0;A<(1<<vc.size());A++){ if(__builtin_popcount(A)<=ans){continue;} if(__builtin_popcount(A)>K){continue;} int ok=1; // cout<<A<<"A\n"; bitset<50100>tmp; for(int j=0;j<vc.size();j++){ if( ((A&(1<<j))!=0) ){tmp[vc[j]]=1;} } for(int j=0;j<vc.size();j++){ // cout<<vc[j]<<" "<<ok<<endl;; if(!ok){break;} if(((A&(1<<j))!=0)){ if(((tbl[vc[j]]&tmp)!=tmp) ){ ok=0; } } } //cout<<ok<<endl; if((ok&&(__builtin_popcount(A)>ans)) ){ ans=__builtin_popcount(A); } } } cout<<ans<<endl; //return 0; /* for(int i=0;i<ans.size();i++){ cout<<ans[i]<<" "; }*/ }

Compilation message (stderr)

politicaldevelopment.cpp: In function 'int main()':
politicaldevelopment.cpp:40:21: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   40 |        for(int j=0;j<vc.size();j++){
      |                    ~^~~~~~~~~~
politicaldevelopment.cpp:43:22: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   43 |         for(int j=0;j<vc.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...