Submission #874050

#TimeUsernameProblemLanguageResultExecution timeMemory
874050Sandarach151Friend (IOI14_friend)C++17
11 / 100
346 ms65536 KiB
#include<bits/stdc++.h> using namespace std; int findSample(int n, int confidence[], int host[], int protocol[]){ set<int> adg[n]; for(int i=1; i<n; i++){ if(protocol[i]==0){ adg[host[i]].insert(i); adg[i].insert(host[i]); } else if(protocol[i]==1){ for(auto u : adg[host[i]]){ adg[i].insert(u); adg[u].insert(i); } } else{ for(auto u : adg[host[i]]){ adg[i].insert(u); adg[u].insert(i); } adg[host[i]].insert(i); adg[i].insert(host[i]); } } if(n<=10){ int maxx = 0; for(int mask=0; mask < (1<<n); mask++){ bool test = true; int cur = 0; for(int i=0; i<n; i++){ for(int j=0; j<n; j++){ if(((mask & (1<<i))!=0) && ((mask & (1<<j))!=0) && adg[i].count(j)){ test = false; break; } } if(!test){ break; } } if(test){ for(int i=0; i<n; i++){ if((mask & (1<<i))!=0){ cur+=confidence[i]; } } maxx = max(maxx, cur); } } return maxx; } else{ bool res0 = true; bool res1 = true; bool res2 = true; for(int i=0; i<n; i++){ if(protocol[i]==0){ res1 = false; res2 = false; } if(protocol[i]==1){ res0 = false; res2 = false; } if(protocol[i]==2){ res0 = false; res1 = false; } } if(res1){ int ans = 0; for(int i=0; i<n; i++){ ans += confidence[i]; } return ans; } else if(res2){ int ans = 0; for(int i=0; i<n; i++){ ans = max(ans, confidence[i]); } return ans; } } }

Compilation message (stderr)

friend.cpp: In function 'int findSample(int, int*, int*, int*)':
friend.cpp:54:14: warning: variable 'res0' set but not used [-Wunused-but-set-variable]
   54 |         bool res0 = true;
      |              ^~~~
friend.cpp:86:1: warning: control reaches end of non-void function [-Wreturn-type]
   86 | }
      | ^
#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...