Submission #1240257
Source Code Expand
import java.util.*; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); long N = sc.nextLong(); long a = sc.nextLong(); String k = sc.next(); long[] b = new long[(int)N]; for(int i = 0; i < N; i++) { b[i] = sc.nextLong(); } ArrayList<Long> list = new ArrayList<Long>(); list.add(a); long[] f = new long[(int)N + 1]; f[0] = a; long presence = a; long s = 0; long g = 1; for(int i = 0; i < N; i++) { presence = b[(int)presence - 1]; f[i + 1] = presence; if(list.contains(presence)) { for(int j = 0; j < N; j++) { if(f[j] == presence) { s = (long)j; g = (long)(i + 1) - s; break; } } break; } else { list.add(presence); } } long ans = 0; if(k.length() <= 6) { int step = Integer.parseInt(k); int p = (int)a; for(int i = 0; i < step; i++) { p = (int)b[p - 1]; } ans = p; } else { // s+tをgで割った余り long r = func(k, g); while(r < s) { r += g; } ans = f[(int)r]; } System.out.println(ans); } public static long func(String k, long g) { if(k.length() <= 18) return (Long.parseLong(k)) % g; String sub = k.substring(0, k.length() - 1); long d = Long.parseLong(String.valueOf(k.charAt(k.length() - 1))); long a = (func(sub, g) * 10 + d) % g; return a; } }
Submission Info
Submission Time | |
---|---|
Task | D - へんてこ辞書 |
User | takeya |
Language | Java8 (OpenJDK 1.8.0) |
Score | 50 |
Code Size | 1581 Byte |
Status | TLE |
Exec Time | 2107 ms |
Memory | 457788 KB |
Judge Result
Set Name | Sample | Subtask1 | All | ||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Score / Max Score | 0 / 0 | 50 / 50 | 0 / 50 | ||||||||||
Status |
|
|
|
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 | 407 ms | 50412 KB |
subtask0_1.txt | AC | 363 ms | 47860 KB |
subtask0_2.txt | AC | 396 ms | 49684 KB |
subtask0_3.txt | AC | 359 ms | 46344 KB |
subtask0_4.txt | AC | 398 ms | 48768 KB |
subtask0_5.txt | AC | 379 ms | 46444 KB |
subtask0_6.txt | AC | 366 ms | 46420 KB |
subtask0_7.txt | AC | 396 ms | 50376 KB |
subtask0_8.txt | AC | 354 ms | 46728 KB |
subtask0_9.txt | AC | 408 ms | 49692 KB |
subtask0_sample_01.txt | AC | 93 ms | 21716 KB |
subtask0_sample_03.txt | AC | 93 ms | 21844 KB |
subtask1_0.txt | MLE | 1454 ms | 402808 KB |
subtask1_1.txt | MLE | 1830 ms | 424924 KB |
subtask1_10.txt | TLE | 2107 ms | 446488 KB |
subtask1_11.txt | AC | 91 ms | 21844 KB |
subtask1_2.txt | MLE | 1091 ms | 380052 KB |
subtask1_3.txt | MLE | 956 ms | 384172 KB |
subtask1_4.txt | MLE | 1070 ms | 390348 KB |
subtask1_5.txt | MLE | 1286 ms | 378360 KB |
subtask1_6.txt | TLE | 2050 ms | 457788 KB |
subtask1_7.txt | MLE | 1845 ms | 415356 KB |
subtask1_8.txt | MLE | 1052 ms | 372380 KB |
subtask1_9.txt | MLE | 1333 ms | 394752 KB |
subtask1_sample_02.txt | AC | 94 ms | 21844 KB |