Submission #1240422


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> f = new ArrayList<Long>();
    f.add(a);
    long presence = a;
    long s = 0;
    long g = 1;
    for(int i = 0; i < N; i++) {
      presence = b[(int)presence - 1];
      if(f.contains(presence)) {
        for(int j = 0; j < N; j++) {
          if(f.get(j) == presence) {
            s = (long)j;
            g = (long)(i + 1) - s;
            break;
          }
        }
        break;
      } else {
        f.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.get((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 1496 Byte
Status TLE
Exec Time 2107 ms
Memory 456088 KB

Judge Result

Set Name Sample Subtask1 All
Score / Max Score 0 / 0 50 / 50 0 / 50
Status
AC × 2
AC × 12
AC × 14
TLE × 1
MLE × 10
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 388 ms 50776 KB
subtask0_1.txt AC 375 ms 46492 KB
subtask0_2.txt AC 388 ms 44024 KB
subtask0_3.txt AC 346 ms 46208 KB
subtask0_4.txt AC 383 ms 48296 KB
subtask0_5.txt AC 369 ms 46812 KB
subtask0_6.txt AC 353 ms 46652 KB
subtask0_7.txt AC 393 ms 40704 KB
subtask0_8.txt AC 342 ms 43892 KB
subtask0_9.txt AC 387 ms 48612 KB
subtask0_sample_01.txt AC 93 ms 23892 KB
subtask0_sample_03.txt AC 93 ms 21716 KB
subtask1_0.txt MLE 1478 ms 402520 KB
subtask1_1.txt MLE 1798 ms 427860 KB
subtask1_10.txt TLE 2107 ms 456088 KB
subtask1_11.txt AC 91 ms 19924 KB
subtask1_2.txt MLE 1070 ms 387644 KB
subtask1_3.txt MLE 983 ms 385228 KB
subtask1_4.txt MLE 1079 ms 388944 KB
subtask1_5.txt MLE 1278 ms 387856 KB
subtask1_6.txt MLE 1983 ms 416968 KB
subtask1_7.txt MLE 1857 ms 414008 KB
subtask1_8.txt MLE 1027 ms 374504 KB
subtask1_9.txt MLE 1305 ms 390096 KB
subtask1_sample_02.txt AC 93 ms 19924 KB