Submission #1304260

#TimeUsernameProblemLanguageResultExecution timeMemory
1304260activedeltorreFriend (IOI14_friend)C++20
35 / 100
1 ms584 KiB
#include "friend.h" // Find out best sample #include<iostream> #include<vector> using namespace std; int val[100005]; int dp[100005][2]; vector<int>adj[10005]; void dfs(int curr,int par) { dp[curr][0]=0; dp[curr][1]=val[curr]; for(auto k:adj[curr]) { if(k!=par) { dfs(k,curr); dp[curr][0]+=max(dp[k][0],dp[k][1]); dp[curr][1]+=dp[k][0]; } } } int findSample(int n,int confidence[],int host[],int protocol[]){ int maxval=0,sum=0; for(int i=0;i<n;i++) { maxval=max(maxval,confidence[i]); sum+=confidence[i]; } if(protocol[1]==2) { return maxval; } else if(protocol[1]==1) { return sum; } else { for(int i=0;i<n;i++) { val[i]=confidence[i]; } for(int i=1;i<n;i++) { adj[host[i]].push_back(i); adj[i].push_back(host[i]); } dfs(0,-1); return max(dp[0][0],dp[0][1]); } }
#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...