結果
問題 | No.5 数字のブロック |
ユーザー | t__nabe |
提出日時 | 2020-04-10 17:36:57 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 2 ms / 5,000 ms |
コード長 | 903 bytes |
コンパイル時間 | 12,789 ms |
コンパイル使用メモリ | 379,272 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-09-15 06:20:08 |
合計ジャッジ時間 | 14,174 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge4 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
other | AC * 34 |
コンパイルメッセージ
warning: unused import: `BufRead` --> src/main.rs:2:22 | 2 | use std::io::{Stdin, BufRead}; | ^^^^^^^ | = note: `#[warn(unused_imports)]` on by default warning: unused variable: `stdin` --> src/main.rs:30:15 | 30 | fn read_input(stdin: &mut Stdin) -> Input { | ^^^^^ help: if this is intentional, prefix it with an underscore: `_stdin` | = note: `#[warn(unused_variables)]` on by default warning: variable does not need to be mutable --> src/main.rs:33:9 | 33 | let mut w: Vec<u32> = read_vec(); | ----^ | | | help: remove this `mut` | = note: `#[warn(unused_mut)]` on by default warning: field `n` is never read --> src/main.rs:7:5 | 5 | struct Input { | ----- field in this struct 6 | l: u32, 7 | n: u32, | ^ | = note: `#[warn(dead_code)]` on by default
ソースコード
use std::io; use std::io::{Stdin, BufRead}; struct Input { l: u32, n: u32, w: Vec<u32>, } fn main() { let mut stdin = io::stdin(); let input = read_input(&mut stdin); let mut w = input.w; w.sort(); let mut count = 0; let mut sum = 0; for e in w { sum += e; if input.l < sum { break; } count += 1; } println!("{}", count); } fn read_input(stdin: &mut Stdin) -> Input { let l: u32 = read_single(); let n: u32 = read_single(); let mut w: Vec<u32> = read_vec(); Input { l, n, w } } fn read_single<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_single::<String>().split_whitespace() .map(|e| e.parse().ok().unwrap()).collect() }