이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#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--)
if (i > 0) {
if (tt[i] == 0)
dp[pp[i]] += dq[i], dq[pp[i]] += max(dp[i], dq[i]);
else if (tt[i] == 1)
dp[pp[i]] = max(dp[pp[i]] + max(dp[i], dq[i]), dq[pp[i]] + dp[i]), dq[pp[i]] += dq[i];
else
dp[pp[i]] = max(dp[pp[i]] + dq[i], dq[pp[i]] + dp[i]), dq[pp[i]] += dq[i];
}
return max(dp[0], dq[0]);
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |