답안 #359745

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
359745 2021-01-27T07:32:00 Z kuzma Power Plant (JOI20_power) C++17
47 / 100
6 ms 5228 KB
#include <bits/stdc++.h>
#include <ext/pb_ds/assoc_container.hpp>
 
typedef long long ll;
typedef long double ld;
#define int ll
#define f first
#define s second
#define pb push_back
#define vi vector<int>
#define pii pair<int, int>
using namespace std;

const int maxn = 1e5 + 50;
vi r[maxn];
int ans = 0;
int dp[maxn];
string s;
void dfs(int v, int p = -1) {
	dp[v] = -(s[v] - '0');
	for (auto &u : r[v]) {
		if (u != p) {
			dfs(u, v);
			dp[v] += max(int(s[u] - '0'), dp[u]);
		}
	}
}

void dfs2(int v, int p = -1) {
	ans = max(ans, int(s[v] - '0'));
	ans = max(ans, dp[v]);
	for (auto &u : r[v])
			ans = max(ans, max(int(s[u] - '0'), dp[u]) + (s[v] - '0'));
	for (auto &u : r[v]) {
		if (u != p) {
			dp[v] -= max(int(s[u] - '0'), dp[u]);
			dp[u] += max(int(s[v] - '0'), dp[v]);
			dfs2(u, v);
			dp[u] -= max(int(s[v] - '0'), dp[v]);
			dp[v] += max(int(s[u] - '0'), dp[u]);
		}
	}
}

void solve() {
	int n;
	cin >> n;
	for (int i = 0; i < n - 1; ++i) {
		int a, b;
		cin >> a >> b;
		a--;
		b--;
		r[a].pb(b);
		r[b].pb(a);
	}
	cin >> s;
	dfs(0);
	dfs2(0);
	cout << ans << '\n';
}

signed main() {
	// freopen("kthsubstr.in", "r", stdin);
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	cout.precision(10);
	int t;
	t = 1;
	while (t--)
		solve();
}
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 2668 KB Output is correct
2 Correct 2 ms 2668 KB Output is correct
3 Correct 2 ms 2668 KB Output is correct
4 Correct 2 ms 2668 KB Output is correct
5 Correct 2 ms 2668 KB Output is correct
6 Correct 2 ms 2668 KB Output is correct
7 Correct 2 ms 2668 KB Output is correct
8 Correct 2 ms 2668 KB Output is correct
9 Correct 2 ms 2668 KB Output is correct
10 Correct 2 ms 2668 KB Output is correct
11 Correct 2 ms 2796 KB Output is correct
12 Correct 2 ms 2668 KB Output is correct
13 Correct 2 ms 2668 KB Output is correct
14 Correct 2 ms 2668 KB Output is correct
15 Correct 2 ms 2668 KB Output is correct
16 Correct 2 ms 2668 KB Output is correct
17 Correct 2 ms 2668 KB Output is correct
18 Correct 2 ms 2668 KB Output is correct
19 Correct 2 ms 2668 KB Output is correct
20 Correct 2 ms 2668 KB Output is correct
21 Correct 2 ms 2668 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 2668 KB Output is correct
2 Correct 2 ms 2668 KB Output is correct
3 Correct 2 ms 2668 KB Output is correct
4 Correct 2 ms 2668 KB Output is correct
5 Correct 2 ms 2668 KB Output is correct
6 Correct 2 ms 2668 KB Output is correct
7 Correct 2 ms 2668 KB Output is correct
8 Correct 2 ms 2668 KB Output is correct
9 Correct 2 ms 2668 KB Output is correct
10 Correct 2 ms 2668 KB Output is correct
11 Correct 2 ms 2796 KB Output is correct
12 Correct 2 ms 2668 KB Output is correct
13 Correct 2 ms 2668 KB Output is correct
14 Correct 2 ms 2668 KB Output is correct
15 Correct 2 ms 2668 KB Output is correct
16 Correct 2 ms 2668 KB Output is correct
17 Correct 2 ms 2668 KB Output is correct
18 Correct 2 ms 2668 KB Output is correct
19 Correct 2 ms 2668 KB Output is correct
20 Correct 2 ms 2668 KB Output is correct
21 Correct 2 ms 2668 KB Output is correct
22 Correct 3 ms 2796 KB Output is correct
23 Correct 3 ms 2796 KB Output is correct
24 Correct 3 ms 2796 KB Output is correct
25 Correct 3 ms 2796 KB Output is correct
26 Correct 3 ms 2796 KB Output is correct
27 Correct 3 ms 2796 KB Output is correct
28 Correct 3 ms 2796 KB Output is correct
29 Correct 3 ms 2796 KB Output is correct
30 Correct 3 ms 2796 KB Output is correct
31 Correct 3 ms 2796 KB Output is correct
32 Correct 3 ms 2796 KB Output is correct
33 Correct 3 ms 2796 KB Output is correct
34 Correct 3 ms 2796 KB Output is correct
35 Correct 3 ms 2944 KB Output is correct
36 Correct 3 ms 2796 KB Output is correct
37 Correct 3 ms 2796 KB Output is correct
38 Correct 3 ms 2796 KB Output is correct
39 Correct 3 ms 2796 KB Output is correct
40 Correct 3 ms 2796 KB Output is correct
41 Correct 3 ms 2796 KB Output is correct
42 Correct 3 ms 2796 KB Output is correct
43 Correct 3 ms 2796 KB Output is correct
44 Correct 3 ms 2932 KB Output is correct
45 Correct 3 ms 2796 KB Output is correct
46 Correct 4 ms 2796 KB Output is correct
47 Correct 3 ms 2796 KB Output is correct
48 Correct 3 ms 2796 KB Output is correct
49 Correct 3 ms 2796 KB Output is correct
50 Correct 3 ms 2796 KB Output is correct
51 Correct 3 ms 2796 KB Output is correct
52 Correct 3 ms 2796 KB Output is correct
53 Correct 3 ms 2796 KB Output is correct
54 Correct 4 ms 2796 KB Output is correct
55 Correct 3 ms 2796 KB Output is correct
56 Correct 3 ms 2796 KB Output is correct
57 Correct 3 ms 2924 KB Output is correct
58 Correct 4 ms 2940 KB Output is correct
59 Correct 3 ms 2796 KB Output is correct
60 Correct 3 ms 2796 KB Output is correct
61 Correct 3 ms 2796 KB Output is correct
62 Correct 3 ms 2796 KB Output is correct
63 Correct 3 ms 2796 KB Output is correct
# 결과 실행 시간 메모리 Grader output
1 Correct 2 ms 2668 KB Output is correct
2 Correct 2 ms 2668 KB Output is correct
3 Correct 2 ms 2668 KB Output is correct
4 Correct 2 ms 2668 KB Output is correct
5 Correct 2 ms 2668 KB Output is correct
6 Correct 2 ms 2668 KB Output is correct
7 Correct 2 ms 2668 KB Output is correct
8 Correct 2 ms 2668 KB Output is correct
9 Correct 2 ms 2668 KB Output is correct
10 Correct 2 ms 2668 KB Output is correct
11 Correct 2 ms 2796 KB Output is correct
12 Correct 2 ms 2668 KB Output is correct
13 Correct 2 ms 2668 KB Output is correct
14 Correct 2 ms 2668 KB Output is correct
15 Correct 2 ms 2668 KB Output is correct
16 Correct 2 ms 2668 KB Output is correct
17 Correct 2 ms 2668 KB Output is correct
18 Correct 2 ms 2668 KB Output is correct
19 Correct 2 ms 2668 KB Output is correct
20 Correct 2 ms 2668 KB Output is correct
21 Correct 2 ms 2668 KB Output is correct
22 Correct 3 ms 2796 KB Output is correct
23 Correct 3 ms 2796 KB Output is correct
24 Correct 3 ms 2796 KB Output is correct
25 Correct 3 ms 2796 KB Output is correct
26 Correct 3 ms 2796 KB Output is correct
27 Correct 3 ms 2796 KB Output is correct
28 Correct 3 ms 2796 KB Output is correct
29 Correct 3 ms 2796 KB Output is correct
30 Correct 3 ms 2796 KB Output is correct
31 Correct 3 ms 2796 KB Output is correct
32 Correct 3 ms 2796 KB Output is correct
33 Correct 3 ms 2796 KB Output is correct
34 Correct 3 ms 2796 KB Output is correct
35 Correct 3 ms 2944 KB Output is correct
36 Correct 3 ms 2796 KB Output is correct
37 Correct 3 ms 2796 KB Output is correct
38 Correct 3 ms 2796 KB Output is correct
39 Correct 3 ms 2796 KB Output is correct
40 Correct 3 ms 2796 KB Output is correct
41 Correct 3 ms 2796 KB Output is correct
42 Correct 3 ms 2796 KB Output is correct
43 Correct 3 ms 2796 KB Output is correct
44 Correct 3 ms 2932 KB Output is correct
45 Correct 3 ms 2796 KB Output is correct
46 Correct 4 ms 2796 KB Output is correct
47 Correct 3 ms 2796 KB Output is correct
48 Correct 3 ms 2796 KB Output is correct
49 Correct 3 ms 2796 KB Output is correct
50 Correct 3 ms 2796 KB Output is correct
51 Correct 3 ms 2796 KB Output is correct
52 Correct 3 ms 2796 KB Output is correct
53 Correct 3 ms 2796 KB Output is correct
54 Correct 4 ms 2796 KB Output is correct
55 Correct 3 ms 2796 KB Output is correct
56 Correct 3 ms 2796 KB Output is correct
57 Correct 3 ms 2924 KB Output is correct
58 Correct 4 ms 2940 KB Output is correct
59 Correct 3 ms 2796 KB Output is correct
60 Correct 3 ms 2796 KB Output is correct
61 Correct 3 ms 2796 KB Output is correct
62 Correct 3 ms 2796 KB Output is correct
63 Correct 3 ms 2796 KB Output is correct
64 Runtime error 6 ms 5228 KB Execution killed with signal 11
65 Halted 0 ms 0 KB -