Submission #1228779

#TimeUsernameProblemLanguageResultExecution timeMemory
1228779PlayVoltzFriend (IOI14_friend)C++20
100 / 100
17 ms3084 KiB
#include "friend.h" #include <bits/stdc++.h> using namespace std; int findSample(int n, int c[], int h[], int p[]){ vector<vector<int> > dp(2, vector<int>(n, 0)); for (int i=0; i<n; ++i)dp[1][i]=c[i]; for (int i=n-1;i;--i){ if (!p[i])dp[0][h[i]]+=max(dp[1][i], dp[0][i]), dp[1][h[i]]+=dp[0][i]; else if (p[i]==1)dp[1][h[i]]=max(dp[1][h[i]]+max(dp[0][i], dp[1][i]), dp[0][h[i]]+dp[1][i]), dp[0][h[i]]+=dp[0][i]; else dp[1][h[i]]=max(dp[1][h[i]]+dp[0][i], dp[0][h[i]]+dp[1][i]), dp[0][h[i]]+=dp[0][i]; } return max(dp[0][0], dp[1][0]); }
#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...