Submission #584806

# Submission time Handle Problem Language Result Execution time Memory
584806 2022-06-28T03:59:28 Z jack715 Friend (IOI14_friend) C++14
19 / 100
40 ms 65536 KB
#include "friend.h"
#include <bits/stdc++.h>
#define ll long long
#define pb push_back
#define pp pop_back
#define mp make_pair
#define bb back
#define ff first
#define ss second

using namespace std; 

// Find out best sample

vector<int> par, conf;
vector<vector<int> > dp, path;

int run(int indx, int state) {
    if (dp[indx][state] != -1) return dp[indx][state];
    int ret = 0;
    for (int next : path[indx]) {
        if (next == par[indx]) continue;
        par[next] = indx;
        if (state) ret += run(next, 1-state);
        else ret += max(run(next, 1-state), run(next, state));
    } 
    if (state) ret += conf[indx];
    return dp[indx][state] = ret;
}

int findSample(int n,int confidence[],int host[],int protocol[]){
    par.resize(n, -1);
    dp.resize(n, {-1, -1});
    path.resize(n), conf.resize(n);
    for (int i = 0; i < n; i++) conf[i] = confidence[i];

	for (int i = 1; i < n; i++) {
		if (protocol[i] == 0) {
			path[i].pb(host[i]);
			path[host[i]].pb(i);
		} else if (protocol[i] == 1) {
			for (int con : path[host[i]]) {
				path[i].pb(con);
				path[con].pb(i);
			}
		} else {
			for (int con : path[host[i]]) {
				path[i].pb(con);
				path[con].pb(i);
			}
			path[i].pb(host[i]);
			path[host[i]].pb(i);
		}
	}

    return max(run(0, 1), run(0, 0));
}
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 0 ms 212 KB Output is correct
6 Correct 1 ms 212 KB Output is correct
7 Runtime error 40 ms 65536 KB Execution killed with signal 9
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Runtime error 36 ms 65536 KB Execution killed with signal 9
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Correct 1 ms 212 KB Output is correct
4 Correct 0 ms 212 KB Output is correct
5 Correct 1 ms 468 KB Output is correct
6 Correct 1 ms 340 KB Output is correct
7 Correct 1 ms 212 KB Output is correct
8 Correct 1 ms 340 KB Output is correct
9 Correct 1 ms 212 KB Output is correct
10 Correct 1 ms 340 KB Output is correct
11 Correct 1 ms 364 KB Output is correct
12 Correct 1 ms 340 KB Output is correct
13 Correct 1 ms 340 KB Output is correct
14 Correct 0 ms 340 KB Output is correct
15 Correct 1 ms 340 KB Output is correct
# Verdict Execution time Memory Grader output
1 Incorrect 0 ms 212 KB Output isn't correct
2 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 0 ms 212 KB Output is correct
2 Correct 0 ms 212 KB Output is correct
3 Runtime error 33 ms 65536 KB Execution killed with signal 9
4 Halted 0 ms 0 KB -