結果
| 問題 |
No.871 かえるのうた
|
| コンテスト | |
| ユーザー |
akakimidori
|
| 提出日時 | 2020-09-03 20:45:38 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,088 bytes |
| コンパイル時間 | 12,849 ms |
| コンパイル使用メモリ | 377,560 KB |
| 実行使用メモリ | 6,912 KB |
| 最終ジャッジ日時 | 2024-11-24 01:05:52 |
| 合計ジャッジ時間 | 15,460 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge1 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 43 WA * 6 |
ソースコード
use std::io::Read;
fn run() {
let mut s = String::new();
std::io::stdin().read_to_string(&mut s).unwrap();
let mut it = s.trim().split_whitespace();
let n = it.next().unwrap().parse::<usize>().unwrap() + 2;
let k = it.next().unwrap().parse::<usize>().unwrap();
let mut x = vec![-1_000_000_000_000_000_000i64; n];
for i in 1..(n - 1) {
x[i] = it.next().unwrap().parse().unwrap();
}
x[n - 1] = -x[n - 1];
let mut a = vec![0i64; n];
for i in 1..(n - 1) {
a[i] = it.next().unwrap().parse().unwrap();
}
let mut i = k + 1;
let mut j = k - 1;
let mut l = x[k] - a[k];
let mut r = x[k] + a[k];
loop {
if x[i] < r {
r = std::cmp::max(x[i] + a[i], r);
l = std::cmp::min(x[i] - a[i], l);
i += 1;
} else if x[j] >= l {
r = std::cmp::max(x[j] + a[j], r);
l = std::cmp::min(x[j] - a[j], l);
j -= 1;
} else {
break;
}
}
let ans = i - j - 1;
println!("{}", ans);
}
fn main() {
run();
}
akakimidori