This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#pragma once
#include <bits/stdc++.h>
using namespace std;
const int N = 1e5+6;
int dp[N][3]={};
int findSample(int n,int confidence[],int host[],int protocol[]) {
for (int i = 0; i < n; ++i) {
dp[i][2] += confidence[i];
}
for (int i = n - 1; i > 0; --i) {
int par = host[i];
if (protocol[i] == 0) {
dp[par][0] += max({dp[i][0], dp[i][1], dp[i][2]});
dp[par][1] += max({dp[i][0]});
dp[par][2] += dp[i][0];
}
if (protocol[i] == 1) {
/*take nothing*/
dp[par][0] += dp[i][0];
/*take one of them*/
dp[par][1] += max({dp[i][0], dp[i][1], dp[i][2]});
dp[par][2] += max({dp[i][0], dp[i][1], dp[i][2]});
}
if (protocol[i] == 2) {
dp[par][0] += dp[i][0];
dp[par][1] += max(dp[i][0], dp[i][2]);
dp[par][2] += max(dp[i][0], dp[i][1]);
}
}
return max({dp[0][0], dp[0][1], dp[0][2]});
}
Compilation message (stderr)
friend.cpp:1:9: warning: #pragma once in main file
1 | #pragma once
| ^~~~
# | 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... |