Submission #111947

#TimeUsernameProblemLanguageResultExecution timeMemory
111947luciocfFriend (IOI14_friend)C++14
27 / 100
32 ms2680 KiB
#include <bits/stdc++.h> #include "friend.h" using namespace std; bool mark[12][12]; int findSample(int n, int confidence[], int host[], int protocol[]) { if (n > 10) { if (protocol[1] == 2) { int mx = 0; for (int i = 0; i < n; i++) mx = max(mx, confidence[i]); return mx; } int s = 0; for (int i = 0; i < n; i++) s += confidence[i]; return s; } for (int i = 1; i < n; i++) { int h = host[i]; if (protocol[i] == 0) { mark[i][h] = mark[h][i] = 1; } else if (protocol[i] == 1) { for (int j = 0; j < n; j++) if (mark[h][j]) mark[i][j] = mark[j][i] = 1; } else { for (int j = 0; j < n; j++) if (mark[h][j]) mark[i][j] = mark[j][i] = 1; mark[i][h] = mark[h][i] = 1; } } int ans = 0; for (int mask = 0; mask < (1<<n); mask++) { bool ok = 1; for (int i = 0; i < n; i++) for (int j = 0; j < n; j++) if (mark[i][j] && mask&(1<<i) && mask&(1<<j)) ok = 0; if (ok) { int aux = 0; for (int i = 0; i < n; i++) if (mask&(1<<i)) aux += confidence[i]; ans = max(ans, aux); } } 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...