結果
問題 |
No.1120 Strange Teacher
|
ユーザー |
![]() |
提出日時 | 2020-07-22 23:26:41 |
言語 | Rust (1.83.0 + proconio) |
結果 |
WA
|
実行時間 | - |
コード長 | 1,079 bytes |
コンパイル時間 | 24,837 ms |
コンパイル使用メモリ | 377,388 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-23 01:18:00 |
合計ジャッジ時間 | 19,394 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge3 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 WA * 6 |
ソースコード
fn main() { let n: usize = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); buf.trim_end().parse().unwrap() }; let a: Vec<i64> = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); let iter = buf.split_whitespace(); iter.map(|x| x.parse().unwrap()).collect() }; let b: Vec<i64> = { let mut buf = String::new(); std::io::stdin().read_line(&mut buf).unwrap(); let iter = buf.split_whitespace(); iter.map(|x| x.parse().unwrap()).collect() }; let mut c = vec![0; n]; for i in 0..n { c[i] = a[i] - b[i]; } c.sort(); let mut sum = 0; for i in (0..(n - 1)).rev() { c[i] -= sum; let x = c[i + 1] - c[i]; if x % 2 == 0 { c[i] = (c[i] + c[i + 1]) / 2; sum += x / 2; } else { println!("-1"); return; } } if c[0] == 0 { println!("{}", sum); } else { println!("-1"); } }