Submission #1513426


Source Code Expand

#include <bits/stdc++.h>

using namespace std;

const int INF = 1145141919;

vector<int> g[100010], rg[100010];
int N, K;
int ans = 0;

void dfs(int cur, vector<int>& dist) {
	for (int nex : g[cur]) {
		if (dist[nex] != INF) continue;
		dist[nex] = dist[cur] + 1;
		if (dist[nex] > K) {
			ans++;
			dist[nex] = 1;
		}
		dfs(nex, dist);
	}
}

void dfs2(int cur, int par, int d, vector<int>& used) {
	if (d == K) {
		if (!used[cur]) {
			g[0].push_back(cur);
			used[cur] = true;
			ans++;
		}
		return;
	}
	for (int nex : rg[cur]) {
		if (nex == par) continue;
		dfs2(nex, cur, d + 1, used);
	}
}

int main() {
	cin.tie(0);
	ios::sync_with_stdio(false);
	
	cin >> N >> K;
	vector<int> a(N);
	for (int i = 0; i < N; i++) {
		cin >> a[i];
		a[i]--;
	}

	vector<int> used(N, false);
	used[0] = true;
	for (int i = 1; i < N; i++) {
		g[a[i]].push_back(i);
		if (a[i] == 0) used[i] = true;
		rg[i].push_back(a[i]);
	}

	for (int i = 1; i < N; i++) {
		if (g[i].size() == 0) rg[N].push_back(i);
	}
	dfs2(N, -1, 0, used);

	/*
	vector<int> dist(N, INF);
	dist[0] = 0;
	dfs(0, dist);

	for (int i = 1; i < N; i++) {
		if (dist[i] == INF) {
			ans++;
			dist[i] = 1;
			dfs(i, dist);
		}
	}*/

	ans += (a[0] != 0);
	cout << ans << endl;
	return 0;
}

Submission Info

Submission Time
Task D - Teleporter
User fine
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1317 Byte
Status WA
Exec Time 1056 ms
Memory 18176 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 0 / 800
Status
AC × 3
AC × 24
WA × 28
TLE × 6
Set Name Test Cases
Sample 0_00.txt, 0_01.txt, 0_02.txt
All 0_00.txt, 0_01.txt, 0_02.txt, 1_00.txt, 1_01.txt, 1_02.txt, 1_03.txt, 1_04.txt, 1_05.txt, 1_06.txt, 1_07.txt, 1_08.txt, 1_09.txt, 1_10.txt, 1_11.txt, 1_12.txt, 1_13.txt, 1_14.txt, 1_15.txt, 1_16.txt, 1_17.txt, 1_18.txt, 1_19.txt, 1_20.txt, 1_21.txt, 1_22.txt, 1_23.txt, 1_24.txt, 1_25.txt, 1_26.txt, 1_27.txt, 1_28.txt, 1_29.txt, 1_30.txt, 1_31.txt, 1_32.txt, 1_33.txt, 1_34.txt, 1_35.txt, 1_36.txt, 1_37.txt, 1_38.txt, 1_39.txt, 1_40.txt, 1_41.txt, 1_42.txt, 1_43.txt, 1_44.txt, 1_45.txt, 1_46.txt, 1_47.txt, 1_48.txt, 1_49.txt, 1_50.txt, 1_51.txt, 1_52.txt, 1_53.txt, 1_54.txt
Case Name Status Exec Time Memory
0_00.txt AC 3 ms 4992 KB
0_01.txt AC 3 ms 4992 KB
0_02.txt AC 3 ms 4992 KB
1_00.txt AC 3 ms 4992 KB
1_01.txt AC 3 ms 4992 KB
1_02.txt WA 24 ms 12032 KB
1_03.txt WA 24 ms 12032 KB
1_04.txt WA 24 ms 12032 KB
1_05.txt WA 24 ms 12032 KB
1_06.txt WA 28 ms 15104 KB
1_07.txt AC 28 ms 15104 KB
1_08.txt AC 33 ms 18176 KB
1_09.txt AC 34 ms 18176 KB
1_10.txt WA 23 ms 12032 KB
1_11.txt WA 23 ms 12032 KB
1_12.txt WA 24 ms 12032 KB
1_13.txt WA 28 ms 12032 KB
1_14.txt WA 27 ms 12032 KB
1_15.txt WA 28 ms 12032 KB
1_16.txt AC 24 ms 11260 KB
1_17.txt AC 23 ms 11004 KB
1_18.txt AC 23 ms 11004 KB
1_19.txt AC 16 ms 9976 KB
1_20.txt AC 16 ms 9976 KB
1_21.txt AC 16 ms 9976 KB
1_22.txt WA 24 ms 11008 KB
1_23.txt WA 25 ms 10880 KB
1_24.txt WA 31 ms 10752 KB
1_25.txt WA 25 ms 10876 KB
1_26.txt WA 29 ms 10496 KB
1_27.txt WA 31 ms 10496 KB
1_28.txt WA 20 ms 10744 KB
1_29.txt AC 20 ms 10236 KB
1_30.txt AC 21 ms 10236 KB
1_31.txt WA 32 ms 10880 KB
1_32.txt AC 41 ms 10880 KB
1_33.txt AC 40 ms 10880 KB
1_34.txt AC 41 ms 10880 KB
1_35.txt WA 26 ms 11264 KB
1_36.txt AC 105 ms 11136 KB
1_37.txt AC 116 ms 11136 KB
1_38.txt AC 103 ms 11136 KB
1_39.txt WA 32 ms 11264 KB
1_40.txt WA 142 ms 11264 KB
1_41.txt AC 733 ms 11264 KB
1_42.txt AC 608 ms 13180 KB
1_43.txt WA 31 ms 11264 KB
1_44.txt WA 99 ms 11264 KB
1_45.txt TLE 1056 ms 11388 KB
1_46.txt TLE 1056 ms 11388 KB
1_47.txt WA 25 ms 11392 KB
1_48.txt WA 51 ms 11264 KB
1_49.txt TLE 1056 ms 12288 KB
1_50.txt TLE 1056 ms 12928 KB
1_51.txt WA 30 ms 11776 KB
1_52.txt WA 40 ms 11776 KB
1_53.txt TLE 1056 ms 12032 KB
1_54.txt TLE 1056 ms 17024 KB