結果

問題 No.825 賢いお買い物
ユーザー kawadumaxkawadumax
提出日時 2019-05-28 00:16:50
言語 Rust
(1.77.0)
結果
WA  
実行時間 -
コード長 1,177 bytes
コンパイル時間 668 ms
コンパイル使用メモリ 173,544 KB
実行使用メモリ 4,348 KB
最終ジャッジ日時 2023-10-17 18:21:07
合計ジャッジ時間 1,528 ms
ジャッジサーバーID
(参考情報)
judge13 / judge15
このコードへのチャレンジ
(要ログイン)

テストケース

テストケース表示
入力 結果 実行時間
実行使用メモリ
testcase_00 AC 1 ms
4,348 KB
testcase_01 WA -
testcase_02 AC 1 ms
4,348 KB
testcase_03 AC 1 ms
4,348 KB
testcase_04 AC 1 ms
4,348 KB
testcase_05 WA -
testcase_06 AC 1 ms
4,348 KB
testcase_07 AC 0 ms
4,348 KB
testcase_08 AC 0 ms
4,348 KB
testcase_09 AC 1 ms
4,348 KB
testcase_10 AC 1 ms
4,348 KB
testcase_11 AC 1 ms
4,348 KB
testcase_12 AC 1 ms
4,348 KB
testcase_13 WA -
testcase_14 WA -
testcase_15 AC 1 ms
4,348 KB
testcase_16 AC 1 ms
4,348 KB
testcase_17 AC 1 ms
4,348 KB
testcase_18 AC 1 ms
4,348 KB
testcase_19 AC 1 ms
4,348 KB
testcase_20 AC 1 ms
4,348 KB
testcase_21 AC 1 ms
4,348 KB
権限があれば一括ダウンロードができます
コンパイルメッセージ
warning: unused variable: `money`
  --> Main.rs:22:9
   |
22 |     let money = a + 10 * b;
   |         ^^^^^ help: if this is intentional, prefix it with an underscore: `_money`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: function `read_vec2` is never used
  --> Main.rs:14:4
   |
14 | fn read_vec2<T: std::str::FromStr>(n: u32) -> Vec<Vec<T>> {
   |    ^^^^^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

warning: variable `howManyCoins` should have a snake case name
  --> Main.rs:23:9
   |
23 |     let howManyCoins = a + b;
   |         ^^^^^^^^^^^^ help: convert the identifier to snake case: `how_many_coins`
   |
   = note: `#[warn(non_snake_case)]` on by default

warning: variable `deltaCoins` should have a snake case name
  --> Main.rs:24:9
   |
24 |     let deltaCoins = howManyCoins - c;
   |         ^^^^^^^^^^ help: convert the identifier to snake case: `delta_coins`

warning: 4 warnings emitted

ソースコード

diff #

fn read<T: std::str::FromStr>() -> T {
    let mut s = String::new();
    std::io::stdin().read_line(&mut s).ok();
    s.trim().parse().ok().unwrap()
}

// 標準入力から一行を読み取り、空白文字で分割し、各要素を指定の型に変換する関数
fn read_vec<T: std::str::FromStr>() -> Vec<T> {
    read::<String>().split_whitespace()
        .map(|e| e.parse().ok().unwrap()).collect()
}

fn read_vec2<T: std::str::FromStr>(n: u32) -> Vec<Vec<T>> {
    (0..n).map(|_| read_vec()).collect()
}

fn main() {
    let v = read_vec::<i16>();
    let (a, b, c) = (v[0], v[1], v[2]);

    let money = a + 10 * b;
    let howManyCoins = a + b;
    let deltaCoins = howManyCoins - c;

    if deltaCoins < -9 {
        println!("Impossible");
        return
    }else if deltaCoins >= -9 && deltaCoins < 0{
        println!("{}", 10 + deltaCoins);
    }else if deltaCoins == 0 {
        println!("{}", 0);
    }else if deltaCoins > 0{
        for i in 0..deltaCoins{
            let j = deltaCoins - i;
            if i <= b && j <= a{
                println!("{}",i*10+j);
                return
            }
        }
        println!("Impossible");
    }
}
0