#include <bits/stdc++.h>
using namespace std;
const int MAX_N = 5000;
const long long INF = 1e15;
int n;
int parent[MAX_N + 1], height[MAX_N + 1], cost[MAX_N + 1];
long long dp[MAX_N + 1][MAX_N + 1];
vector<int> children[MAX_N + 1];
map<int, int> mp;
void dfs( int u ) {
for ( int v: children[u] )
dfs( v );
dp[u][n] = INF;
for ( int x = n - 1; x >= 0; x-- ) {
for ( int v: children[u] )
dp[u][x] += dp[v][x];
//dp[u][x] = min( dp[u][x], dp[u][x + 1] );
}
long long c = dp[u][height[u]];
for ( int x = n - 1; x >= 0; x-- )
dp[u][x] += cost[u];
for ( int x = height[u]; x >= 0; x-- )
dp[u][x] = min( dp[u][x], c );
}
int main() {
cin >> n;
for ( int v = 1; v <= n; v++ )
cin >> parent[v] >> height[v] >> cost[v];
for ( int v = 2; v <= n; v++ )
children[parent[v]].push_back( v );
for ( int v = 1; v <= n; v++ )
mp[height[v]] = 1;
int val = 0;
for ( auto p: mp )
mp[p.first] = val++;
for ( int v = 1; v <= n; v++ )
height[v] = mp[height[v]];
dfs( 1 );
cout << dp[1][0] << "\n";
return 0;
}
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2396 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
1 ms |
2396 KB |
Output is correct |
5 |
Correct |
118 ms |
196436 KB |
Output is correct |
6 |
Correct |
73 ms |
196180 KB |
Output is correct |
7 |
Correct |
73 ms |
196240 KB |
Output is correct |
8 |
Correct |
93 ms |
196468 KB |
Output is correct |
9 |
Correct |
73 ms |
196176 KB |
Output is correct |
10 |
Correct |
73 ms |
196180 KB |
Output is correct |
11 |
Correct |
71 ms |
196368 KB |
Output is correct |
12 |
Correct |
126 ms |
196784 KB |
Output is correct |
13 |
Correct |
115 ms |
196948 KB |
Output is correct |
14 |
Correct |
123 ms |
196828 KB |
Output is correct |
15 |
Correct |
115 ms |
196436 KB |
Output is correct |
16 |
Correct |
83 ms |
196532 KB |
Output is correct |
17 |
Correct |
75 ms |
196640 KB |
Output is correct |
18 |
Correct |
70 ms |
196176 KB |
Output is correct |
19 |
Correct |
144 ms |
196700 KB |
Output is correct |
20 |
Correct |
123 ms |
196364 KB |
Output is correct |
21 |
Correct |
128 ms |
196396 KB |
Output is correct |
22 |
Correct |
202 ms |
196432 KB |
Output is correct |
23 |
Correct |
194 ms |
196180 KB |
Output is correct |
24 |
Correct |
160 ms |
196596 KB |
Output is correct |
25 |
Correct |
153 ms |
196496 KB |
Output is correct |
26 |
Correct |
125 ms |
196780 KB |
Output is correct |
27 |
Correct |
104 ms |
196644 KB |
Output is correct |
28 |
Correct |
121 ms |
196688 KB |
Output is correct |
29 |
Correct |
128 ms |
196688 KB |
Output is correct |
30 |
Correct |
125 ms |
196688 KB |
Output is correct |
31 |
Correct |
135 ms |
196688 KB |
Output is correct |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2396 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
1 ms |
2396 KB |
Output is correct |
5 |
Correct |
118 ms |
196436 KB |
Output is correct |
6 |
Correct |
73 ms |
196180 KB |
Output is correct |
7 |
Correct |
73 ms |
196240 KB |
Output is correct |
8 |
Correct |
93 ms |
196468 KB |
Output is correct |
9 |
Correct |
73 ms |
196176 KB |
Output is correct |
10 |
Correct |
73 ms |
196180 KB |
Output is correct |
11 |
Correct |
71 ms |
196368 KB |
Output is correct |
12 |
Correct |
126 ms |
196784 KB |
Output is correct |
13 |
Correct |
115 ms |
196948 KB |
Output is correct |
14 |
Correct |
123 ms |
196828 KB |
Output is correct |
15 |
Correct |
115 ms |
196436 KB |
Output is correct |
16 |
Correct |
83 ms |
196532 KB |
Output is correct |
17 |
Correct |
75 ms |
196640 KB |
Output is correct |
18 |
Correct |
70 ms |
196176 KB |
Output is correct |
19 |
Correct |
144 ms |
196700 KB |
Output is correct |
20 |
Correct |
123 ms |
196364 KB |
Output is correct |
21 |
Correct |
128 ms |
196396 KB |
Output is correct |
22 |
Correct |
202 ms |
196432 KB |
Output is correct |
23 |
Correct |
194 ms |
196180 KB |
Output is correct |
24 |
Correct |
160 ms |
196596 KB |
Output is correct |
25 |
Correct |
153 ms |
196496 KB |
Output is correct |
26 |
Correct |
125 ms |
196780 KB |
Output is correct |
27 |
Correct |
104 ms |
196644 KB |
Output is correct |
28 |
Correct |
121 ms |
196688 KB |
Output is correct |
29 |
Correct |
128 ms |
196688 KB |
Output is correct |
30 |
Correct |
125 ms |
196688 KB |
Output is correct |
31 |
Correct |
135 ms |
196688 KB |
Output is correct |
32 |
Incorrect |
40 ms |
123216 KB |
Output isn't correct |
33 |
Halted |
0 ms |
0 KB |
- |
# |
Verdict |
Execution time |
Memory |
Grader output |
1 |
Correct |
1 ms |
2396 KB |
Output is correct |
2 |
Correct |
1 ms |
2396 KB |
Output is correct |
3 |
Correct |
1 ms |
2396 KB |
Output is correct |
4 |
Correct |
1 ms |
2396 KB |
Output is correct |
5 |
Correct |
118 ms |
196436 KB |
Output is correct |
6 |
Correct |
73 ms |
196180 KB |
Output is correct |
7 |
Correct |
73 ms |
196240 KB |
Output is correct |
8 |
Correct |
93 ms |
196468 KB |
Output is correct |
9 |
Correct |
73 ms |
196176 KB |
Output is correct |
10 |
Correct |
73 ms |
196180 KB |
Output is correct |
11 |
Correct |
71 ms |
196368 KB |
Output is correct |
12 |
Correct |
126 ms |
196784 KB |
Output is correct |
13 |
Correct |
115 ms |
196948 KB |
Output is correct |
14 |
Correct |
123 ms |
196828 KB |
Output is correct |
15 |
Correct |
115 ms |
196436 KB |
Output is correct |
16 |
Correct |
83 ms |
196532 KB |
Output is correct |
17 |
Correct |
75 ms |
196640 KB |
Output is correct |
18 |
Correct |
70 ms |
196176 KB |
Output is correct |
19 |
Correct |
144 ms |
196700 KB |
Output is correct |
20 |
Correct |
123 ms |
196364 KB |
Output is correct |
21 |
Correct |
128 ms |
196396 KB |
Output is correct |
22 |
Correct |
202 ms |
196432 KB |
Output is correct |
23 |
Correct |
194 ms |
196180 KB |
Output is correct |
24 |
Correct |
160 ms |
196596 KB |
Output is correct |
25 |
Correct |
153 ms |
196496 KB |
Output is correct |
26 |
Correct |
125 ms |
196780 KB |
Output is correct |
27 |
Correct |
104 ms |
196644 KB |
Output is correct |
28 |
Correct |
121 ms |
196688 KB |
Output is correct |
29 |
Correct |
128 ms |
196688 KB |
Output is correct |
30 |
Correct |
125 ms |
196688 KB |
Output is correct |
31 |
Correct |
135 ms |
196688 KB |
Output is correct |
32 |
Incorrect |
40 ms |
123216 KB |
Output isn't correct |
33 |
Halted |
0 ms |
0 KB |
- |