Submission #55996

#TimeUsernameProblemLanguageResultExecution timeMemory
55996Just_Solve_The_ProblemFriend (IOI14_friend)C++11
100 / 100
46 ms7324 KiB
#include <bits/stdc++.h> #include "friend.h" using namespace std; const int N = (int)1e5 + 7; int dp[N][2]; int findSample(int n, int confidence[], int host[], int protocol[]){ for (int i = 0; i < n; i++) dp[i][0] = confidence[i]; for (int i = n - 1; i > 0; i--) { if (protocol[i] == 0) { dp[host[i]][0] += dp[i][1]; dp[host[i]][1] += dp[i][0]; } else if (protocol[i] == 1) { dp[host[i]][0] += dp[i][0]; dp[host[i]][1] += dp[i][1]; } else if (protocol[i] == 2) { dp[host[i]][0] = max(dp[host[i]][0] + dp[i][1], dp[host[i]][1] + dp[i][0]); dp[host[i]][1] += dp[i][1]; } dp[host[i]][0] = max(dp[host[i]][0], dp[host[i]][1]); } return max(dp[0][0], dp[1][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...