Submission #1109128

#TimeUsernameProblemLanguageResultExecution timeMemory
1109128codexistentFriend (IOI14_friend)C++14
100 / 100
18 ms2252 KiB
#include "friend.h" #include <bits/stdc++.h> using namespace std; #define FOR(i, a, b) for(int i = a; i <= b; i++) int dp[101000][2]; int findSample(int n, int confidence[], int host[], int protocol[]){ FOR(i, 0, n - 1) dp[i][0] = confidence[i]; for(int i = n - 1; i > 0; i--){ if(protocol[i] == 1){ // My Friends are Your Friends dp[host[i]][0] += dp[i][0]; dp[host[i]][1] += dp[i][1]; }else if(protocol[i] == 2){ // We are Your Friends dp[host[i]][0] = max(dp[i][0] + dp[host[i]][1], dp[host[i]][0] + dp[i][1]); dp[host[i]][1] += dp[i][1]; }else if(protocol[i] == 0){ // I am Your Friend dp[host[i]][0] += dp[i][1]; dp[host[i]][1] += dp[i][0]; } dp[host[i]][0] = max(dp[host[i]][0], dp[host[i]][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...