Submission #1136487

#TimeUsernameProblemLanguageResultExecution timeMemory
1136487Ak_16Friend (IOI14_friend)C++20
0 / 100
1096 ms320 KiB
#include <iostream> #include <vector> #include <queue> using namespace std; int findSample(int n, int con[], int hos[], int pro[]){ int pow[15]; pow[0] = 1; for(int i=1; i<=10; i++){pow[i] = 2*pow[i-1];} vector<int> adj[20]; int cnt[20]; for(int i=1; i<n; i++){ if(pro[i]==0||pro[i]==2){adj[i].push_back(hos[i]); adj[hos[i]].push_back(i); } if(pro[i]>0){ for(auto x: adj[hos[i]]){ adj[i].push_back(x); adj[x].push_back(i); } } } int ans = 0; for(int i=1; i<pow[n]; i++){ int k = i; for(int j=0; j<n; i++){cnt[j]=0;} for(int j=n-1; j>=0; j--){ if(k>=pow[j]){cnt[j] = 1; k-=pow[j];} } int tru=1; int sum=0; for(int i=0; i<n; i++){ if(cnt[i]==1){ sum += con[i]; for(auto x: adj[i]){ if(cnt[x]==1){tru=0;} } } } if(tru==1){ans = max(ans, sum);} } return ans; }
#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...