Submission #780286

# Submission time Handle Problem Language Result Execution time Memory
780286 2023-07-12T07:57:52 Z NothingXD Friend (IOI14_friend) C++17
35 / 100
7 ms 2672 KB
#include "friend.h"
#include<bits/stdc++.h>

using namespace std;

typedef long long ll;
typedef double ld;
typedef pair<int,int> pii;
typedef pair<ll,ll> pll;
typedef complex<ld> point;

void debug_out(){cerr << endl;}

template<typename Head, typename... Tail>
void debug_out(Head H, Tail... T){
	cout << H << ' ';
	debug_out(T...);
}

#define debug(...) cerr << "(" << #__VA_ARGS__ << "): ", debug_out(__VA_ARGS__)
#define F first
#define S second
#define all(x) x.begin(), x.end()
#define MP(x, y) make_pair(x, y)

const int maxn = 1e5 + 10;

int dp[maxn][2];
vector<int> g[maxn];
void dfs(int v, int p = -1){
	for (auto u: g[v]){
		dfs(u, v);
		dp[v][1] += dp[u][0];
		dp[v][0] += max(dp[u][0], dp[u][1]);
	}
}

// Find out best sample
int findSample(int n,int w[],int p[],int t[]){
	int ans = 0;
	if (t[1] == 1){
		for (int i = 0; i < n; i++) ans += w[i];
	}
	if (t[1] == 2){
		ans = *max_element(w, w + n);
	}
	if (t[1] == 0){
		for (int i = 1; i < n; i++){
			g[p[i]].push_back(i);
		}
		for (int i = 0; i < n; i++){
			dp[i][1] = w[i];
		}
		dfs(0);
		ans = max(dp[0][0], dp[0][1]);
	}
	return ans;
}
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2660 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 1 ms 2644 KB Output is correct
5 Correct 2 ms 2664 KB Output is correct
6 Correct 4 ms 2644 KB Output is correct
7 Incorrect 2 ms 2664 KB Output isn't correct
8 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 1 ms 2644 KB Output is correct
3 Correct 2 ms 2668 KB Output is correct
4 Correct 2 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2660 KB Output is correct
7 Correct 1 ms 2644 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 2644 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2668 KB Output is correct
2 Correct 2 ms 2644 KB Output is correct
3 Correct 7 ms 2644 KB Output is correct
4 Correct 2 ms 2644 KB Output is correct
5 Correct 2 ms 2644 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2668 KB Output is correct
8 Correct 2 ms 2644 KB Output is correct
9 Correct 2 ms 2644 KB Output is correct
10 Correct 3 ms 2644 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 3 ms 2636 KB Output is correct
2 Correct 2 ms 2648 KB Output is correct
3 Correct 2 ms 2648 KB Output is correct
4 Correct 2 ms 2664 KB Output is correct
5 Correct 3 ms 2668 KB Output is correct
6 Correct 2 ms 2644 KB Output is correct
7 Correct 2 ms 2644 KB Output is correct
8 Correct 1 ms 2672 KB Output is correct
9 Correct 1 ms 2660 KB Output is correct
10 Correct 2 ms 2644 KB Output is correct
11 Correct 2 ms 2664 KB Output is correct
12 Correct 2 ms 2644 KB Output is correct
13 Correct 2 ms 2644 KB Output is correct
14 Correct 2 ms 2644 KB Output is correct
15 Correct 2 ms 2668 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2668 KB Output is correct
3 Correct 2 ms 2644 KB Output is correct
4 Correct 1 ms 2644 KB Output is correct
5 Incorrect 1 ms 2644 KB Output isn't correct
6 Halted 0 ms 0 KB -
# Verdict Execution time Memory Grader output
1 Correct 2 ms 2644 KB Output is correct
2 Correct 2 ms 2664 KB Output is correct
3 Incorrect 2 ms 2644 KB Output isn't correct
4 Halted 0 ms 0 KB -