結果
| 問題 |
No.5 数字のブロック
|
| ユーザー |
|
| 提出日時 | 2020-08-20 16:46:01 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
AC
|
| 実行時間 | 2 ms / 5,000 ms |
| コード長 | 977 bytes |
| コンパイル時間 | 12,520 ms |
| コンパイル使用メモリ | 378,744 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-10-13 13:25:50 |
| 合計ジャッジ時間 | 13,802 ms |
|
ジャッジサーバーID (参考情報) |
judge3 / judge2 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 34 |
コンパイルメッセージ
warning: variable `L` should have a snake case name --> src/main.rs:13:13 | 13 | let mut L: i64 = lv[0].parse().unwrap(); // 箱の幅 | ^ help: convert the identifier to snake case: `l` | = note: `#[warn(non_snake_case)]` on by default warning: variable `_N` should have a snake case name --> src/main.rs:14:9 | 14 | let _N: i64 = nv[0].parse().unwrap(); // ブロックの数 | ^^ help: convert the identifier to snake case: `_n` warning: variable `W` should have a snake case name --> src/main.rs:18:13 | 18 | let mut W: Vec<_> = wl.iter().map(|f| f.parse::<i64>().unwrap()).collect(); | ^ help: convert the identifier to snake case (notice the capitalization): `w`
ソースコード
fn getline() -> String{
let mut __ret=String::new();
std::io::stdin().read_line(&mut __ret).ok();
return __ret;
}
fn main() {
let l = getline();
let n = getline();
let w = getline();
let lv: Vec<_> = l.trim().split(' ').collect();
let nv: Vec<_> = n.trim().split(' ').collect();
let mut L: i64 = lv[0].parse().unwrap(); // 箱の幅
let _N: i64 = nv[0].parse().unwrap(); // ブロックの数
let wl: Vec<_> = w.trim().split(' ').collect(); // 各ブロックの幅
// ソートする前に文字列を数値に変換する
let mut W: Vec<_> = wl.iter().map(|f| f.parse::<i64>().unwrap()).collect();
// 小さい順でブロックを箱に詰めていくのでソートする
W.sort();
let mut count: i64 = 0;
for item in W.iter() {
let x: i64 = item.to_string().parse().unwrap();
L = L - x;
if L < 0 {
break;
}
count += 1;
}
println!("{}", count);
}