| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 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
컴파일 시 표준 에러 (stderr) 메시지
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
| # | 결과 | 실행 시간 | 메모리 | 채점기 출력 |
|---|---|---|---|---|
| 결과를 불러오는 중입니다… | ||||
