Submission #549043

#TimeUsernameProblemLanguageResultExecution timeMemory
549043nicholaskFriend (IOI14_friend)C++14
100 / 100
24 ms3116 KiB
#include <bits/stdc++.h> using namespace std; int findSample(int n,int confidence[],int host[],int protocol[]){ int dp[n][2]; for (int i=0; i<n; i++){ dp[i][0]=0; dp[i][1]=confidence[i]; } for (int i=n-1; i; i--){ if (protocol[i]==0){ dp[host[i]][0]+=max(dp[i][0],dp[i][1]); dp[host[i]][1]+=dp[i][0]; } else if (protocol[i]==1){ dp[host[i]][1]=max(dp[host[i]][1]+max(dp[i][0],dp[i][1]),dp[host[i]][0]+dp[i][1]); dp[host[i]][0]+=dp[i][0]; } else if (protocol[i]==2){ dp[host[i]][1]=max(dp[host[i]][0]+dp[i][1],dp[host[i]][1]+dp[i][0]); dp[host[i]][0]+=dp[i][0]; } } int ans=0; for (int i=0; i<n; i++){ ans=max(ans,dp[i][0]); ans=max(ans,dp[i][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...