Submission #537846


Source Code Expand

#include <algorithm>
#include <cstdio>
#include <iostream>
#include <string>
#include <utility>
using namespace std;

int main(){
	int n, a;
	unsigned long long k;
	int b[100001];
	
	//input	
	cin >> n >> a;
	cin >> k; //kの入力方法?
	for(int i=1; i<=n; ++i) scanf(" %d", &b[i]);
	
	//solve
	bool visit[100001];
	fill(visit, visit+n+1, false);
	//for(int i=0; i<=n+1; ++i) cout << visit[i] << endl;
	int place[100000]={0};
	
	unsigned long long step=0;
	int pt=a;
	
	visit[a]=true;
	place[0]=a;
	//find loop
	while(1){
		//printf("now here: %d\n", pt);
		if(step+1==k) break;
	
		pt=b[pt];
		place[++step]=pt;
		if(visit[pt]) break;
		visit[pt]=true;	
	}
	
	//printf("step=%d, pt=%d\n",step, pt);
	
	if(step+1==k) printf("%d\n", b[pt]);
	else{ //loop found
		//for(int i=0; i<=step; ++i) printf("place[%d]=%d\n", i, place[i]);
	
		int start=0;
		while(place[start]!=pt) start++;
		/*
		printf("find : start = %d\n", start);
		printf("->loop_size=%d\n", step-start);
		*/
		k-=start;
		//cout << "k= " << k <<endl;
		int r=k%(step-start);
		if(r==0) r=step-start;
		//printf("r=%d\n",r);
		
		printf("%d\n", place[r+start]);
	}
}

Submission Info

Submission Time
Task D - へんてこ辞書
User imulan
Language C++ (GCC 4.9.2)
Score 50
Code Size 1192 Byte
Status WA
Exec Time 78 ms
Memory 1584 KB

Compile Error

./Main.cpp: In function ‘int main()’:
./Main.cpp:16:45: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  for(int i=1; i<=n; ++i) scanf(" %d", &b[i]);
                                             ^

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 50 / 50 0 / 50
Status
AC × 2
AC × 12
AC × 13
WA × 12
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 48 ms 1568 KB
subtask0_1.txt AC 39 ms 1444 KB
subtask0_2.txt AC 41 ms 1552 KB
subtask0_3.txt AC 67 ms 1448 KB
subtask0_4.txt AC 43 ms 1580 KB
subtask0_5.txt AC 47 ms 1448 KB
subtask0_6.txt AC 45 ms 1432 KB
subtask0_7.txt AC 43 ms 1564 KB
subtask0_8.txt AC 39 ms 1448 KB
subtask0_9.txt AC 44 ms 1572 KB
subtask0_sample_01.txt AC 35 ms 1188 KB
subtask0_sample_03.txt AC 28 ms 1184 KB
subtask1_0.txt WA 61 ms 1448 KB
subtask1_1.txt WA 49 ms 1452 KB
subtask1_10.txt WA 54 ms 1568 KB
subtask1_11.txt AC 27 ms 1300 KB
subtask1_2.txt WA 45 ms 1448 KB
subtask1_3.txt WA 41 ms 1444 KB
subtask1_4.txt WA 44 ms 1444 KB
subtask1_5.txt WA 46 ms 1580 KB
subtask1_6.txt WA 41 ms 1444 KB
subtask1_7.txt WA 41 ms 1444 KB
subtask1_8.txt WA 78 ms 1584 KB
subtask1_9.txt WA 46 ms 1572 KB
subtask1_sample_02.txt WA 29 ms 1304 KB