제출 #1246899

#제출 시각아이디문제언어결과실행 시간메모리
1246899KindaGoodGamesMagic Tree (CEOI19_magictree)C++20
0 / 100
65 ms6724 KiB
#include<bits/stdc++.h> using namespace std; #define pii pair<int,int> int n, m, k; vector<pii> fruits; vector<vector<int>> adj; vector<vector<int>> dp; void DFS(int v, int p){ for(auto u : adj[v]){ if(u == p) continue; DFS(u,v); } for(int t = 1; t <= k; t++){ int s = 0; for(auto u : adj[v]){ s += dp[t][u]; } int add = 0; if(t == fruits[v].first){ add += fruits[v].second; } dp[t][v] = max(s + add, dp[t-1][v]); } } int main(){ cin >> n >> m >> k; adj.resize(n); fruits.resize(n); int s = 0; for(int i = 1; i < n; i++){ int p; cin >> p; p--; adj[i].push_back(p); adj[p].push_back(i); } for(int i = 0; i <m; i++){ int v, d, w; cin >> v >> d >>w; s += w; } cout << s << endl; }
#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...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...