結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
htensai
|
| 提出日時 | 2019-11-11 13:47:57 |
| 言語 | Java (openjdk 23) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,238 bytes |
| コンパイル時間 | 2,576 ms |
| コンパイル使用メモリ | 77,612 KB |
| 実行使用メモリ | 73,948 KB |
| 最終ジャッジ日時 | 2024-09-15 05:12:23 |
| 合計ジャッジ時間 | 27,142 ms |
|
ジャッジサーバーID (参考情報) |
judge6 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 13 WA * 36 |
ソースコード
import java.util.*;
public class Main {
public static void main (String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int k = sc.nextInt() - 1;
long[] xArr = new long[n + 2];
for (int i = 1; i <= n; i++) {
xArr[i] = sc.nextLong();
}
xArr[0] = Long.MIN_VALUE;
xArr[n + 1] = Long.MAX_VALUE;
long[] aArr = new long[n + 1];
for (int i = 1; i <= n; i++) {
aArr[i] = sc.nextLong();
}
int min = Integer.MAX_VALUE;
int target = k;
while (min != target) {
min = target;
int left = 0;
int right = target;
while (right - left > 1) {
int m = (left + right) / 2;
if (xArr[target] - xArr[m] <= aArr[target]) {
right = m;
} else {
left = m;
}
}
target = right;
}
int max = Integer.MIN_VALUE;
target = k;
while (max != target) {
max = target;
int left = target;
int right = n;
while (right - left > 1) {
int m = (left + right) / 2;
if (xArr[m] - xArr[target] <= aArr[target]) {
left = m;
} else {
right = m;
}
}
target = left;
}
System.out.println(max - min + 1);
}
}
htensai