結果
問題 | No.816 Beautiful tuples |
ユーザー |
|
提出日時 | 2019-06-22 17:06:17 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 1,500 ms |
コード長 | 1,243 bytes |
コンパイル時間 | 17,876 ms |
コンパイル使用メモリ | 379,436 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-12-26 09:26:01 |
合計ジャッジ時間 | 17,951 ms |
ジャッジサーバーID (参考情報) |
judge2 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 15 |
ソースコード
#[allow(unused_macros)] macro_rules! invec { ( $t:ty ) => {{ let mut s = String::new(); match std::io::stdin().read_line(&mut s) { Ok(0) => Vec::<$t>::new(), Ok(n) => s.trim().split_whitespace().map(|s| s.parse::<$t>().unwrap()).collect::<Vec<$t>>(), Err(_) => Vec::<$t>::new(), } }} } #[allow(unused_macros)] macro_rules! input { ( $($t:ty),* ) => {{ let mut s = String::new(); std::io::stdin().read_line(&mut s); let mut splits = s.trim().split_whitespace(); ($( { splits.next().unwrap().parse::<$t>().unwrap() }, )*) }} } fn beautiful(a: i64, b: i64, c: i64) -> bool { a != b && b != c && c != a && (a + b) % c == 0 && (b + c) % a == 0 && (c + a) % b == 0 } #[allow(unused_must_use)] #[allow(unused_variables)] fn solve() { let (a, b) = input!(i64, i64); let small = std::cmp::min(a, b); let big = std::cmp::max(a, b); if beautiful(small, big, big - small) { println!("{}", big - small); } else if beautiful(small, big, small + big) { println!("{}", small + big); } else { println!("-1"); } } fn main() { solve(); }