Submission #1165094

#TimeUsernameProblemLanguageResultExecution timeMemory
1165094SmuggingSpunFriend (IOI14_friend)C++20
0 / 100
1095 ms3908 KiB
#include<bits/stdc++.h> #include "friend.h" using namespace std; template<class T>void maximize(T& a, T b){ if(a < b){ a = b; } } int findSample(int n, int confidence[], int host[], int protocol[]){ if(n <= 20){ vector<vector<int>>g(n); auto add_edge = [&] (int u, int v){ g[u].emplace_back(v); g[v].emplace_back(u); }; for(int i = 1; i < n; i++){ if(protocol[i] == 0 || protocol[i] == 2){ add_edge(host[i], i); } if(protocol[i] == 1 || protocol[i] == 2){ for(int& j : g[host[i]]){ add_edge(i, j); } } } int ans = 0; for(int mask = 1; mask < (1 << n); mask++){ bool flag = true; for(int i = 0; i < n && flag; i++){ if(1 << i & mask){ for(int& j : g[i]){ if(1 << j & mask){ flag = false; break; } } } } if(flag){ int sum = 0; for(int i = 0; i < n; i++){ if(1 << i & mask){ sum += confidence[i]; } } maximize(ans, sum); } } return ans; } }

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:51:1: warning: control reaches end of non-void function [-Wreturn-type]
   51 | }
      | ^
#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...