Submission #1173045


Source Code Expand

#include <iostream>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
#define ll long long
int main() {
	cin.tie(0); ios::sync_with_stdio(false);
	ll N, a; cin >> N >> a;
	string k; cin >> k;
	vector<ll> b(N + 1, 0);
	for (int i = 1; i <= N;i++)cin >> b[i];
	vector<ll> m(N + 1, -1);
	m[b[a]] = 1;
	ll i = 1; i++;
	ll now = b[b[a]];

	ll d1, d2;

	//cout << b[a] << " " << m[b[a]] << " " << 1 << endl;
	while (true) {

		//cout << now << " " << m[now] << " " << i << endl;

		if (m[now] != -1) {
			d1 = m[now];
			d2 = i - m[now];
			break;
		}
		else {
			m[now] = i;
			now = b[now];
			i++;
		}
	}

	int k_num = atoi(k.c_str());
	if (k.size() < 8 && k_num < d1) {
		int now = a;
		for (int i = 0; i < k_num; i++) {
			now = b[now];
		}
		cout << now << endl;
	}
	else {
		int k_mod_C = 0;
		for (int i = 0; i < k.size();i++) {
			k_mod_C = (k_mod_C * 10 + (k[i] - '0')) % d2;
		}
		k_mod_C += d1*d2;
		k_mod_C -= d1;
		k_mod_C %= d2;

		for (int i = 0; i < k_mod_C;i++) {
			now = b[now];
		}
		cout << now << endl;
	}
}

Submission Info

Submission Time
Task D - へんてこ辞書
User clavis1107
Language C++14 (GCC 5.4.1)
Score 100
Code Size 1110 Byte
Status AC
Exec Time 11 ms
Memory 1920 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 50 / 50 50 / 50
Status
AC × 2
AC × 12
AC × 25
Set Name Test Cases
Sample subtask0_sample_01.txt, subtask0_sample_03.txt
Subtask1 subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask0_sample_01.txt, subtask0_sample_03.txt
All subtask0_0.txt, subtask0_1.txt, subtask0_2.txt, subtask0_3.txt, subtask0_4.txt, subtask0_5.txt, subtask0_6.txt, subtask0_7.txt, subtask0_8.txt, subtask0_9.txt, subtask0_sample_01.txt, subtask0_sample_03.txt, subtask1_0.txt, subtask1_1.txt, subtask1_10.txt, subtask1_11.txt, subtask1_2.txt, subtask1_3.txt, subtask1_4.txt, subtask1_5.txt, subtask1_6.txt, subtask1_7.txt, subtask1_8.txt, subtask1_9.txt, subtask1_sample_02.txt
Case Name Status Exec Time Memory
subtask0_0.txt AC 8 ms 1664 KB
subtask0_1.txt AC 7 ms 1408 KB
subtask0_2.txt AC 8 ms 1536 KB
subtask0_3.txt AC 6 ms 1152 KB
subtask0_4.txt AC 9 ms 1664 KB
subtask0_5.txt AC 7 ms 1408 KB
subtask0_6.txt AC 6 ms 1152 KB
subtask0_7.txt AC 8 ms 1536 KB
subtask0_8.txt AC 6 ms 1152 KB
subtask0_9.txt AC 8 ms 1664 KB
subtask0_sample_01.txt AC 1 ms 256 KB
subtask0_sample_03.txt AC 1 ms 256 KB
subtask1_0.txt AC 8 ms 1408 KB
subtask1_1.txt AC 9 ms 1536 KB
subtask1_10.txt AC 11 ms 1872 KB
subtask1_11.txt AC 1 ms 256 KB
subtask1_2.txt AC 7 ms 1408 KB
subtask1_3.txt AC 7 ms 1152 KB
subtask1_4.txt AC 7 ms 1280 KB
subtask1_5.txt AC 9 ms 1664 KB
subtask1_6.txt AC 8 ms 1360 KB
subtask1_7.txt AC 7 ms 1280 KB
subtask1_8.txt AC 10 ms 1920 KB
subtask1_9.txt AC 10 ms 1920 KB
subtask1_sample_02.txt AC 1 ms 256 KB