| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 1359925 | ibo | Paprike (COI18_paprike) | C++20 | 0 ms | 464 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 = 200010;
const int inf = 1e18;
const int MOD = 1e9+7;
unordered_map<int,vector<int>> graphs;
vector<bool> visited;
int h[20];
int sum=0;
int cnt=0;
int n,k;
void dfs(int node){
visited[node]=1;
sum+=h[node];
for(auto i:graphs[node]){
if(!visited[i] and sum+h[i]<=k) dfs(i);
}
}
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;
vector<int> degree(n+1,0);
while(m--){
int u,v;
cin >> u >> v;
graphs[u].push_back(v);
graphs[v].push_back(u);
degree[u]++;
degree[v]++;
}
for(int i=1; i<=n; i++){
if(!visited[i]){
dfs(i);
sum=0;
cnt++;
}
}
cout << cnt-1;
}
// By VaLiYeV
Compilation message (stderr)
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
| # | Result | Execution time | Memory | Grader output |
|---|---|---|---|---|
| Fetching results... | ||||
