結果

問題 No.846 メダル
ユーザー iwot
提出日時 2020-06-03 16:55:50
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 727 bytes
コンパイル時間 13,546 ms
コンパイル使用メモリ 401,192 KB
実行使用メモリ 6,820 KB
最終ジャッジ日時 2024-11-25 04:00:56
合計ジャッジ時間 12,692 ms
ジャッジサーバーID
(参考情報)
judge3 / judge1
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 4
other AC * 22
権限があれば一括ダウンロードができます

ソースコード

diff #

fn read_vec<T: std::str::FromStr>() -> Vec<T> {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();
    s.trim()
        .split_whitespace()
        .map(|e| e.parse().ok().unwrap())
        .collect()
}

fn main() {
  let pqr:Vec<i64> = read_vec();
  let abc:Vec<i64> = read_vec();

  let lefts = vec![
    pqr[0]*(abc[0]-1)+1,
    pqr[1]*(abc[0]+abc[1]-1)+1,
    pqr[2]*(abc[0]+abc[1]+abc[2]-1)+1
  ];
  let rights = vec![
    pqr[0]*abc[0],
    pqr[1]*(abc[0]+abc[1]),
    pqr[2]*(abc[0]+abc[1]+abc[2]),
  ];

  let left:&i64 = lefts.iter().max().unwrap();
  let right:&i64 = rights.iter().min().unwrap();

  if left > right {
    println!("-1");
  } else {
    println!("{} {}", left, right);
  }
}
0