Submission #313606

#TimeUsernameProblemLanguageResultExecution timeMemory
313606amunduzbaevFriend (IOI14_friend)C++14
19 / 100
91 ms33016 KiB
//#include "grader.cpp" #include "friend.h" #include <bits/stdc++.h> using namespace std; #define pb(n) push_back(n) int findSample(int n,int c[],int h[],int p[]){ vector<int>v[n]; for(int i=1;i<n;i++){ if(p[i]==0){ v[h[i]].pb(i); v[i].pb(h[i]); } else { if(p[i]==2){ v[h[i]].pb(i); v[i].pb(h[i]); } for(auto x:v[h[i]]){ v[x].pb(i); v[i].pb(x); } } } int ans=0; if(n<=10){ int i=1; while(i<(1<<n)){ int cost=0; vector<bool>used(n,0); for(int j=0;j<n;j++){ if(!((1<<j)&i)) continue; bool t=true; for(auto x:v[j]) if(used[x]) t=false; if(t){ cost+=c[j]; used[j]=true; } } ans=max(ans,cost); i++; } } else if(p[1]==1){ for(int i=0;i<n;i++){ ans+=c[i]; } } else { for(int i=0;i<n;i++){ ans = max(ans, c[i]); } } return ans; } /* 6 13 3 6 20 10 15 0 0 0 1 2 0 0 0 1 2 1 0 */
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...