Submission #2403423


Source Code Expand

use std::env;
use std::io::*;
use std::str::*;
use std::mem;
use std::collections::HashMap;

fn read<T: FromStr>() -> T {
    let stdin = stdin();
    let s = stdin.bytes().map(|c| c.unwrap() as char)
        .skip_while(|c| c.is_whitespace())
        .take_while(|c| !c.is_whitespace())
        .collect::<String>();
    s.parse::<T>().ok().unwrap()
}
fn read_char() -> char {
    let c = read::<String>();
    let c = c.chars().collect::<Vec<char>>();
    c[0]
}
fn read_String_Vec() -> Vec<char> {
    let S = read::<String>();
    S.chars().collect::<Vec<char>>()
}

fn vecchar_to_String(Vs: &Vec<char>) -> String {
    let mut S = String::new();
    for i in 0..Vs.len() {
        S.push(Vs[i]);
    }
    S
}

/*
文字コード
A : 65
Z : 90
a : 97
z : 122
0 : 48
9 : 57
*/

/*
let N = read::<i32>();
let S = read::<String>();
let S = read_String_Vec();
let C = read_char();
*/

/*
 .to_string() : * -> String
 &*S          : String -> &str
*/

fn min(can1: i32, can2: i32, can3: i32) -> i32 {
    if can1 < can2 {
        if can1 < can3 {
            can1
        } else {
            can3
        }
    } else {
        if can2 < can3 {
            can2
        }  else {
            can3
        }
    }
}

fn main() {
    // main の引数
    /*
        引数なしのときargs.len() = 1;
    */
    let args: Vec<String> = env::args().collect();


    let N = read::<i32>();
    let H = read::<i32>();
    let A = read::<i32>();
    let B = read::<i32>();
    let C = read::<i32>();
    let D = read::<i32>();
    let E = read::<i32>();

    //let mut x;
    let mut y;
    let mut cost = <i32>::max_value();
    let mut cost_tmp = 0;

    let mut xmin = ((E*N-H) as f64 / (B + E) as f64).ceil() as i32;
    let mut ymin = ((E*N-H) as f64 / (D + E) as f64).ceil() as i32;
    println!("xmin : {}", xmin);
    println!("ymin : {}", ymin);


    for x in 0..xmin+1 {
        y = ((E*N-H-(B+E)*x) as f64 / (D + E) as f64).ceil() as i32;
        if y < 0 {
            y = 0;
        }
        if x+y > N || H - E*N + (B+E)*x + (D+E)*y <= 0 {
            continue;
        }
         cost_tmp = A*x + C*y;
        if cost_tmp < cost {
            cost = cost_tmp;
            //println!("x : {}, y : {}", x, y);
        }
    }

    let mut x = 0;
    for y in 0..ymin+1 {
        x = ((E*N-H-(D+E)*x) as f64 / (B + E) as f64).ceil() as i32;
        if x < 0 {
            x = 0;
        }
        if x+y > N || H - E*N + (B+E)*x + (D+E)*y <= 0 {
            continue;
        }
        cost_tmp = A*x + C*y;
        if cost_tmp < cost {
           cost = cost_tmp;
           //println!("x : {}, y : {}", x, y);
        }
    }
    println!("{}", cost);
}

Submission Info

Submission Time
Task C - 節制
User hatchi_rust
Language Rust (1.15.1)
Score 0
Code Size 2797 Byte
Status WA
Exec Time 2 ms
Memory 4476 KB

Compile Error

warning: unused import: `std::mem`, #[warn(unused_imports)] on by default
 --> ./Main.rs:4:5
  |
4 | use std::mem;
  |     ^^^^^^^^

warning: unused import: `std::collections::HashMap`, #[warn(unused_imports)] on by default
 --> ./Main.rs:5:5
  |
5 | use std::collections::HashMap;
  |     ^^^^^^^^^^^^^^^^^^^^^^^^^

warning: function is never used: `read_char`, #[warn(dead_code)] on by default
  --> ./Main.rs:15:1
   |
15 |   fn read_char() -> char {
   |  _^ starting here...
16 | |     let c = read::<String>();
17 | |     let c = c.chars().collect::<Vec<char>>();
18 | |     c[0]
19 | | }
   | |_^ ...ending here

warning: function is never used: `read_String_Vec`, #[warn(dead_code)] on by default
  --> ./Main.rs:20:1
   |
20 |   fn read_String_Vec() -> Vec<char> {
   |  _^ starting here...
21 | |     let S = read::<String>();
22 | |     S.chars().collect::<Vec<char>>()
23 | | }
   | |_^ ...ending here

warning: function `read_String_Vec` should have a snake case name such as `read_string_vec`, #[war...

Judge Result

Set Name Subtask1 Subtask2 Subtask3 Subtask4
Score / Max Score 0 / 10 0 / 30 0 / 60 0 / 1
Status
WA × 25
WA × 25
WA × 86
WA × 103
Set Name Test Cases
Subtask1 sample_1.txt, sample_2.txt, sample_3.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt
Subtask2 sample_1.txt, sample_2.txt, sample_3.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt
Subtask3 sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt, 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt
Subtask4 01_010.txt, 01_011.txt, 01_020.txt, 01_021.txt, 01_100.txt, 01_101.txt, 01_110.txt, 01_111.txt, 01_200.txt, 01_201.txt, 01_220.txt, 01_221.txt, 01_random01.txt, 01_random02.txt, 01_random03.txt, 01_random04.txt, 01_random05.txt, 01_random06.txt, 01_random07.txt, 01_random08.txt, 01_random09.txt, 01_random10.txt, 02_010.txt, 02_011.txt, 02_020.txt, 02_021.txt, 02_100.txt, 02_101.txt, 02_110.txt, 02_111.txt, 02_200.txt, 02_201.txt, 02_220.txt, 02_221.txt, 02_random01.txt, 02_random02.txt, 02_random03.txt, 02_random04.txt, 02_random05.txt, 02_random06.txt, 02_random07.txt, 02_random08.txt, 02_random09.txt, 02_random10.txt, 03_010.txt, 03_011.txt, 03_012.txt, 03_020.txt, 03_021.txt, 03_022.txt, 03_100.txt, 03_101.txt, 03_102.txt, 03_110.txt, 03_111.txt, 03_112.txt, 03_200.txt, 03_201.txt, 03_202.txt, 03_220.txt, 03_221.txt, 03_222.txt, 03_random01.txt, 03_random02.txt, 03_random03.txt, 03_random04.txt, 03_random05.txt, 03_random06.txt, 03_random07.txt, 03_random08.txt, 03_random09.txt, 03_random10.txt, 03_random11.txt, 03_random12.txt, 03_random13.txt, 03_random14.txt, 03_random15.txt, 03_random16.txt, 03_random17.txt, 03_random18.txt, 03_random19.txt, 03_random20.txt, 04_010.txt, 04_011.txt, 04_020.txt, 04_021.txt, 04_100.txt, 04_101.txt, 04_110.txt, 04_111.txt, 04_200.txt, 04_201.txt, 04_220.txt, 04_221.txt, 04_random01.txt, 04_random02.txt, 04_random03.txt, 04_random04.txt, 04_random05.txt, sample_1.txt, sample_2.txt, sample_3.txt, sample_4.txt
Case Name Status Exec Time Memory
01_010.txt WA 2 ms 4352 KB
01_011.txt WA 2 ms 4352 KB
01_020.txt WA 2 ms 4352 KB
01_021.txt WA 2 ms 4352 KB
01_100.txt WA 2 ms 4352 KB
01_101.txt WA 2 ms 4352 KB
01_110.txt WA 2 ms 4352 KB
01_111.txt WA 2 ms 4476 KB
01_200.txt WA 2 ms 4352 KB
01_201.txt WA 2 ms 4352 KB
01_220.txt WA 2 ms 4352 KB
01_221.txt WA 2 ms 4352 KB
01_random01.txt WA 2 ms 4352 KB
01_random02.txt WA 2 ms 4352 KB
01_random03.txt WA 2 ms 4352 KB
01_random04.txt WA 2 ms 4352 KB
01_random05.txt WA 2 ms 4352 KB
01_random06.txt WA 2 ms 4352 KB
01_random07.txt WA 2 ms 4352 KB
01_random08.txt WA 2 ms 4352 KB
01_random09.txt WA 2 ms 4352 KB
01_random10.txt WA 2 ms 4352 KB
02_010.txt WA 2 ms 4352 KB
02_011.txt WA 2 ms 4352 KB
02_020.txt WA 2 ms 4352 KB
02_021.txt WA 2 ms 4352 KB
02_100.txt WA 2 ms 4352 KB
02_101.txt WA 2 ms 4352 KB
02_110.txt WA 2 ms 4352 KB
02_111.txt WA 2 ms 4352 KB
02_200.txt WA 2 ms 4352 KB
02_201.txt WA 2 ms 4352 KB
02_220.txt WA 2 ms 4352 KB
02_221.txt WA 2 ms 4352 KB
02_random01.txt WA 2 ms 4352 KB
02_random02.txt WA 2 ms 4352 KB
02_random03.txt WA 2 ms 4352 KB
02_random04.txt WA 2 ms 4352 KB
02_random05.txt WA 2 ms 4352 KB
02_random06.txt WA 2 ms 4352 KB
02_random07.txt WA 2 ms 4352 KB
02_random08.txt WA 2 ms 4352 KB
02_random09.txt WA 2 ms 4352 KB
02_random10.txt WA 2 ms 4352 KB
03_010.txt WA 2 ms 4352 KB
03_011.txt WA 2 ms 4352 KB
03_012.txt WA 2 ms 4352 KB
03_020.txt WA 2 ms 4352 KB
03_021.txt WA 2 ms 4352 KB
03_022.txt WA 2 ms 4352 KB
03_100.txt WA 2 ms 4352 KB
03_101.txt WA 2 ms 4352 KB
03_102.txt WA 2 ms 4352 KB
03_110.txt WA 2 ms 4352 KB
03_111.txt WA 2 ms 4352 KB
03_112.txt WA 2 ms 4352 KB
03_200.txt WA 2 ms 4352 KB
03_201.txt WA 2 ms 4352 KB
03_202.txt WA 2 ms 4352 KB
03_220.txt WA 2 ms 4352 KB
03_221.txt WA 2 ms 4352 KB
03_222.txt WA 2 ms 4352 KB
03_random01.txt WA 2 ms 4352 KB
03_random02.txt WA 2 ms 4352 KB
03_random03.txt WA 2 ms 4352 KB
03_random04.txt WA 2 ms 4352 KB
03_random05.txt WA 2 ms 4352 KB
03_random06.txt WA 2 ms 4352 KB
03_random07.txt WA 2 ms 4352 KB
03_random08.txt WA 2 ms 4352 KB
03_random09.txt WA 2 ms 4352 KB
03_random10.txt WA 2 ms 4352 KB
03_random11.txt WA 2 ms 4352 KB
03_random12.txt WA 2 ms 4352 KB
03_random13.txt WA 2 ms 4352 KB
03_random14.txt WA 2 ms 4352 KB
03_random15.txt WA 2 ms 4352 KB
03_random16.txt WA 2 ms 4352 KB
03_random17.txt WA 2 ms 4352 KB
03_random18.txt WA 2 ms 4352 KB
03_random19.txt WA 2 ms 4352 KB
03_random20.txt WA 2 ms 4352 KB
04_010.txt WA 2 ms 4352 KB
04_011.txt WA 2 ms 4352 KB
04_020.txt WA 2 ms 4352 KB
04_021.txt WA 2 ms 4352 KB
04_100.txt WA 2 ms 4352 KB
04_101.txt WA 2 ms 4352 KB
04_110.txt WA 2 ms 4352 KB
04_111.txt WA 2 ms 4352 KB
04_200.txt WA 2 ms 4352 KB
04_201.txt WA 2 ms 4352 KB
04_220.txt WA 2 ms 4352 KB
04_221.txt WA 2 ms 4352 KB
04_random01.txt WA 2 ms 4352 KB
04_random02.txt WA 2 ms 4352 KB
04_random03.txt WA 2 ms 4352 KB
04_random04.txt WA 2 ms 4352 KB
04_random05.txt WA 2 ms 4352 KB
sample_1.txt WA 2 ms 4352 KB
sample_2.txt WA 2 ms 4352 KB
sample_3.txt WA 2 ms 4352 KB
sample_4.txt WA 2 ms 4352 KB