Submission #1117620

#TimeUsernameProblemLanguageResultExecution timeMemory
1117620vjudge1Paprike (COI18_paprike)C++17
0 / 100
32 ms1872 KiB
#include "bits/stdc++.h" #define fast ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0); #define ll long long #define pb push_back #define in insert #define F first #define S second #define vll vector<ll> #define all(v) v.begin(),v.end() #define endl '\n' #define pii pair<ll,ll> using namespace std; const ll INF =1e18, mod = 1e9 + 7, N = 1e5 + 5; ll gcd(ll a, ll b){ if(b == 0){ return a; } return gcd(b, a % b); } ll lcm(ll a, ll b){ return (a / gcd(a,b)) * b; } void solve(){ ll n,k; cin >> n >> k; ll a[n + 1]; for(int i = 1; i <= n; i++){ cin >> a[i]; } ll x,y; ll sum[n + 1]; for(int i = 1; i <= n; i++){ sum[i] = 0; } ll cnt = 0; for(int i = 0; i < n - 1; i++){ cin >> x >> y; // cout << sum[x] << " " << sum[y] << endl; ll s; if(i == 0){ s = 0; } else{ if(sum[x] > 0){ s = sum[x]; } else{ s = sum[y]; } } if(s + a[x] + a[y] <= k){ sum[x] += a[x] + a[y]; sum[y] += a[x] + a[y]; } else{ cnt++; } // cout << cnt << endl; } cout << cnt << endl; } int main(){ fast; ll t = 1; // cin >> t; while(t--){ solve(); } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...