Submission #1066195

#TimeUsernameProblemLanguageResultExecution timeMemory
1066195mc061Friend (IOI14_friend)C++17
46 / 100
30 ms3384 KiB
#pragma once 
#include <bits/stdc++.h>
using namespace std;
 
const int N = 1e5+6;
 
int dp[N][2]={};
 
int findSample(int n,int confidence[],int host[],int protocol[]) {
    for (int i = 0; i < n; ++i) {
        dp[i][1] += confidence[i];
    }
    for (int i = n - 1; i > 0; --i) {
        int par = host[i];
        if (protocol[i] == 0) {
            dp[par][0] += max(dp[i][1], dp[i][0]);
            dp[par][1] += dp[i][0];
        }
        if (protocol[i] == 1) {
            dp[par][1] = max(dp[par][0], dp[par][1]) + dp[i][1];
            dp[par][0] += dp[i][0];
        }
        if (protocol[i] == 2) {
            dp[par][1] = max(dp[par][1] + dp[i][0], dp[par][0] + dp[i][1]);
            dp[par][0] += dp[i][0];
        }
    }
    return max({dp[0][0], dp[0][1]});
}

Compilation message (stderr)

friend.cpp:1:9: warning: #pragma once in main file
    1 | #pragma once
      |         ^~~~
#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...