結果
問題 |
No.206 数の積集合を求めるクエリ
|
ユーザー |
![]() |
提出日時 | 2015-05-09 01:02:34 |
言語 | Java (openjdk 23) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,047 bytes |
コンパイル時間 | 1,957 ms |
コンパイル使用メモリ | 78,060 KB |
実行使用メモリ | 75,944 KB |
最終ジャッジ日時 | 2024-07-05 20:56:47 |
合計ジャッジ時間 | 20,215 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | WA * 3 |
other | WA * 22 TLE * 1 -- * 5 |
ソースコード
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); String[] first = sc.nextLine().split(" "); int L = Integer.parseInt(first[0]); int M = Integer.parseInt(first[1]); int N = Integer.parseInt(first[2]); boolean[] A = new boolean[N]; String[] aStrings = sc.nextLine().split(" "); for (int i = 0; i < aStrings.length; i++) { A[Integer.parseInt(aStrings[i]) - 1] = true; } boolean[] B = new boolean[N]; String[] bStrings = sc.nextLine().split(" "); for (int i = 0; i < bStrings.length; i++) { B[Integer.parseInt(bStrings[i]) - 1] = true; } int Q = sc.nextInt(); sc.close(); int[] cnt = new int[Q]; for (int i = 0; i < N; i++) { for (int q = 0; q < Q; q++) { if (i + q >= N) { break; } if (A[i + q] && B[i]) { cnt[q]++; } } } StringBuilder sb = new StringBuilder(); for (int i = 0; i < cnt.length; i++) { sb.append(cnt[i]); sb.append("\n"); } System.out.println(sb.toString()); } }