Submission #584863

#TimeUsernameProblemLanguageResultExecution timeMemory
584863jack715Friend (IOI14_friend)C++14
0 / 100
2 ms1108 KiB
#include "friend.h" #include <bits/stdc++.h> #define ll long long #define pb push_back #define pp pop_back #define mp make_pair #define bb back #define ff first #define ss second using namespace std; // Find out best sample int findSample(int n,int confidence[],int host[],int protocol[]){ vector<vector<int> > path(n); for (int i = 1; i < n; i++) { if (protocol[i] == 0) { path[i].pb(host[i]); path[host[i]].pb(i); } else if (protocol[i] == 1) { for (int con : path[host[i]]) { path[i].pb(con); path[con].pb(i); } } else { for (int con : path[host[i]]) { path[i].pb(con); path[con].pb(i); } path[i].pb(host[i]); path[host[i]].pb(i); } } vector<pair<int, int> > nums; vector<bool> used(n, 0); for (int i = 0; i < n; i++) { nums.pb({path[i].size(), i}); } sort(nums.begin(), nums.end()); int ans = 0; for (int i = 0; i < n; i++) { if (used[nums[i].ss]) continue; ans++; for (int next : path[nums[i].ss]) used[next] = 1; } 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...