Submission #1293861

#TimeUsernameProblemLanguageResultExecution timeMemory
1293861mahjongfrogPaprike (COI18_paprike)C++20
100 / 100
97 ms17224 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long #define pb push_back const ll mod=1e9; const int MAKS=1e5+1; int n,k, cvb; vector<int>g[MAKS]; int h[MAKS]; int dfs(int x, int ma){ vector<int>v; for(int i:g[x]){ if(i==ma) continue; v.pb(dfs(i,x)); } sort(v.begin(), v.end()); int cem=h[x]; for(int i:v){ if(i+cem<=k){ cem+=i; } else{ cvb++; //cem=h[i]; } } return cem; } int main(){ //int n,k; cin>>n>>k; for(int i=1; i<=n; i++){ int a; cin>>a; h[i]=a; } for(int i=1; i<n; i++){ int u,v; cin>>u>>v; g[u].pb(v); g[v].pb(u); } cvb=0; dfs(1,-1); cout<<cvb; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...