結果
問題 |
No.2490 Escalator
|
ユーザー |
![]() |
提出日時 | 2025-04-21 18:29:18 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,156 bytes |
コンパイル時間 | 1,974 ms |
コンパイル使用メモリ | 81,224 KB |
実行使用メモリ | 65,028 KB |
最終ジャッジ日時 | 2025-04-21 18:29:59 |
合計ジャッジ時間 | 32,231 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 73 |
ソースコード
import java.util.*; public class Main { static boolean check(int[] S, int N) { int size = S.length; int[] R = new int[size]; int i = 0, j = 0; while (i < size) { while (i-j >= 0 && i+j < size && ((S[i-j] == S[i+j]) || (S[i-j] == -1) || (S[i+j] == -1))) { ++j; } R[i] = j; int k = 1; while (i-k >= 0 && k+R[i-k] < j) { R[i+k] = R[i-k]; ++k; } i += k; j -= k; } System.out.println(Arrays.toString(S)); System.out.println(Arrays.toString(R)); for(int l=0; l<size; l++) { if(R[l]>N) { return true; } } return false; } public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int[] A = new int[2*N]; for (int i = 0; i < 2*N; i++) { A[i] = sc.nextInt(); } int[] AA = new int[4*N]; for (int i = 0; i < 2*N; i++) { AA[i] = A[i]; AA[i + 2*N] = A[i]; } if(check(AA, N)) { System.out.println("Yes"); } else { System.out.println("No"); } } }