結果
| 問題 |
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();
}