Submission #1418752


Source Code Expand

#include<iostream>
#include<algorithm>
#include <string>
#include<cstdio>
#include<vector>
#include<queue>
typedef long long ll;
#define FOR(i,a,b) for(ll i=(a);i<(b);++i)
#define REP(i,n)  FOR(i,0,n)
#define D(n,retu) REP(i,n)(cin>>retu[i])
#define MAX 9223372036854775801
#define x first
#define y second
using namespace std;

int main() {
	ios_base::sync_with_stdio(false);
	ll n, a, k, b[100000] = { 0 };
	ll memo[100000] = { 0 };
	cin >> n >> a >> k;//代入
	ll nextsiraberu, count = 1;//調べようとしているもの、何回目かのカウント
	REP(i, n) { cin >> b[i]; }//代入
	nextsiraberu = b[a - 1];//次調べようとしているものを代入
	ll soremade, shuuki, mae, nise, memnise;//それまで何回作業したか
	while (1) {
		memo[nextsiraberu] = count;//調べようとしているものに番号を付ける(何個目か)
		mae = nextsiraberu;
		nextsiraberu = b[nextsiraberu - 1];//つぎに調べる番号
		if (memo[nextsiraberu]) {//もし調べたことがあるなら
			nise = nextsiraberu; memnise = memo[nextsiraberu];
			memo[nextsiraberu] = count;//周期になっているときの本当の値
			if (memo[nextsiraberu] == memnise) {
				soremade = memo[nextsiraberu] - 1;//それまでにもし行ったことがあるなら
			}
			else {
				soremade = memnise-1 ;
			}
			shuuki = count - soremade;//周期
			break;
		}
		count++;
	}

	if (k < soremade) {
		bool b = true;
		REP(i, 100001) {
			if (memo[i] == k) {
				b = false;
				cout << i << endl; break;
			}
		}
		if (b) { cout << nise << endl; }
	}
	else {
		k %= shuuki;

		REP(i, 10001) {
			if (memo[i] == k + soremade) {

				cout << i << endl; break;
			}
		}

	}

	return 0;
}

Submission Info

Submission Time
Task D - へんてこ辞書
User keidaroo
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1764 Byte
Status WA
Exec Time 9 ms
Memory 1792 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 0 / 50 0 / 50
Status
AC × 1
WA × 1
AC × 1
WA × 11
AC × 1
WA × 24
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 WA 9 ms 1792 KB
subtask0_1.txt WA 7 ms 1792 KB
subtask0_2.txt WA 8 ms 1792 KB
subtask0_3.txt WA 6 ms 1792 KB
subtask0_4.txt WA 9 ms 1792 KB
subtask0_5.txt WA 7 ms 1792 KB
subtask0_6.txt WA 6 ms 1792 KB
subtask0_7.txt WA 8 ms 1792 KB
subtask0_8.txt WA 6 ms 1792 KB
subtask0_9.txt WA 8 ms 1792 KB
subtask0_sample_01.txt AC 2 ms 1792 KB
subtask0_sample_03.txt WA 2 ms 1792 KB
subtask1_0.txt WA 3 ms 1792 KB
subtask1_1.txt WA 3 ms 1792 KB
subtask1_10.txt WA 3 ms 1792 KB
subtask1_11.txt WA 2 ms 1792 KB
subtask1_2.txt WA 3 ms 1792 KB
subtask1_3.txt WA 3 ms 1792 KB
subtask1_4.txt WA 3 ms 1792 KB
subtask1_5.txt WA 3 ms 1792 KB
subtask1_6.txt WA 3 ms 1792 KB
subtask1_7.txt WA 3 ms 1792 KB
subtask1_8.txt WA 3 ms 1792 KB
subtask1_9.txt WA 3 ms 1792 KB
subtask1_sample_02.txt WA 2 ms 1792 KB