Submission #392347

#TimeUsernameProblemLanguageResultExecution timeMemory
392347rainboyFriend (IOI14_friend)C11
35 / 100
1 ms208 KiB
#include "friend.h" #include <string.h> #define N 100000 int max(int a, int b) { return a > b ? a : b; } int findSample(int n, int *aa, int *pp, int *tt) { static int dp[N], dq[N]; int i; memcpy(dp, aa, n * sizeof *aa); for (i = n - 1; i >= 0; i--) { dp[i] = max(dp[i], dq[i]); if (i > 0) { if (tt[i] == 0) dp[pp[i]] += dq[i], dq[pp[i]] += dp[i]; else if (tt[i] == 1) dp[pp[i]] += dp[i], dq[pp[i]] += dq[i]; else dp[pp[i]] = max(dp[pp[i]], dp[i]), dq[pp[i]] += dq[i]; } } return dp[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...