Submission #1168927

#TimeUsernameProblemLanguageResultExecution timeMemory
1168927anmattroiFriend (IOI14_friend)C++17
19 / 100
2 ms2884 KiB
#include "friend.h"
#include <bits/stdc++.h>
#define maxn 100005
using namespace std;

vector<int> adj[maxn];
int f[maxn][2];

int findSample(int n, int confidence[], int host[], int protocol[]){
    for (int i = 0; i < n; i++) adj[i].clear();
    for (int i = 1; i < n; i++) adj[host[i]].emplace_back(i);

    function<void(int)> dfs = [&](int u) {
        f[u][0] = 0; f[u][1] = confidence[u];
        for (int v : adj[u]) {
            dfs(v);
            f[u][0] += max(f[v][0], f[v][1]);
            f[u][1] += f[v][0];
        }
    };

    dfs(0);

    return max(f[0][0], f[0][1]);
}
#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...