Submission #1133795

#TimeUsernameProblemLanguageResultExecution timeMemory
1133795mnbvcxz123Paprike (COI18_paprike)C++20
100 / 100
33 ms18760 KiB
#include <bits/stdc++.h> using namespace std; typedef long long lint; typedef pair<lint, int> pi; const int MAXN = 100005; int n, k, a[MAXN]; vector<int> gph[MAXN]; int ans; int dfs(int x, int p){ vector<int> v; for(auto &i : gph[x]){ if(i != p) v.push_back(dfs(i, x)); } sort(v.begin(), v.end()); int ret = a[x]; for(int i=0; i<v.size(); i++){ if(ret + v[i] > k){ ans += v.size() - i; return ret; } ret += v[i]; } return ret; } int main(){ scanf("%d %d",&n,&k); for(int i=1; i<=n; i++) scanf("%d",&a[i]); for(int i=0; i<n-1; i++){ int s, e; scanf("%d %d",&s,&e); gph[s].push_back(e); gph[e].push_back(s); } dfs(1, -1); cout << ans << endl; }

Compilation message (stderr)

paprike.cpp: In function 'int main()':
paprike.cpp:28:14: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   28 |         scanf("%d %d",&n,&k);
      |         ~~~~~^~~~~~~~~~~~~~~
paprike.cpp:29:38: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   29 |         for(int i=1; i<=n; i++) scanf("%d",&a[i]);
      |                                 ~~~~~^~~~~~~~~~~~
paprike.cpp:32:22: warning: ignoring return value of 'int scanf(const char*, ...)' declared with attribute 'warn_unused_result' [-Wunused-result]
   32 |                 scanf("%d %d",&s,&e);
      |                 ~~~~~^~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...