제출 #1366894

#제출 시각아이디문제언어결과실행 시간메모리
1366894gelastropodCollecting Stamps 5 (JOI26_stamps)C++20
17 / 100
3094 ms56800 KiB
#pragma GCC optimize("O3,inline")
#include <bits/stdc++.h>
using namespace std;
#define int long long

int D;
vector<int> T;
vector<vector<int>> adjlist;

int dfs(int n, int p, int cd, int ci) {
	int res = 0;
	if ((ci || T[n] <= cd) && cd <= D) res++;
	for (int i : adjlist[n]) {
		if (i == p) continue;
		res += dfs(i, n, cd + 1, (ci || T[n] <= cd));
	}
	return res;
}

signed main() {
	ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
	int N, a, b; cin >> N >> D;
	adjlist.resize(N, vector<int>());
	for (int i = 0; i < N; i++) {
		cin >> a;
		T.push_back(a);
	}
	for (int i = 0; i < N - 1; i++) {
		cin >> a >> b; a--, b--;
		adjlist[a].push_back(b);
		adjlist[b].push_back(a);
	}
	for (int i = 0; i < N; i++) {
		cout << dfs(i, -1, 0, 0) << '\n';
	}
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…