Submission #1359933

#TimeUsernameProblemLanguageResultExecution timeMemory
1359933iboPaprike (COI18_paprike)C++20
0 / 100
25 ms16500 KiB
#include <bits/stdc++.h>
using namespace std;
#define int long long
// #define ll long long
#define endl "\n"
#define run ios_base::sync_with_stdio(0),cin.tie(0),cout.tie(0)

const int MAX = 100010;
const int inf = 1e18;
const int MOD = 1e9+7;

unordered_map<int,vector<int>> graphs;
vector<bool> visited;
int h[MAX];
int sum=0;
int cnt=0;
int n,k;

int dfs(int node,int parent){
    visited[node]=1;
    sum=h[node];
    for(auto i:graphs[node]){
        if(i==parent) continue;
        int childsum = dfs(i,node);
        sum+=childsum;
        if(sum>k){
            cnt++;
            sum=0;
        }
    }
    return sum;
}

signed main(){
    run;
    system("Color 0A");
    cin >> n >> k;
    visited.resize(n+1,0);
    for(int i=1; i<=n; i++) cin >> h[i];
    int m = n-1;
    while(m--){
        int u,v;
        cin >> u >> v;
        graphs[u].push_back(v);
        graphs[v].push_back(u);
    }
    dfs(1,0);
    cout << cnt;
}
// By VaLiYeV

Compilation message (stderr)

paprike.cpp: In function 'int main()':
paprike.cpp:36:11: warning: ignoring return value of 'int system(const char*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   36 |     system("Color 0A");
      |     ~~~~~~^~~~~~~~~~~~
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...