結果
問題 | No.21 平均の差 |
ユーザー | yo-kondo |
提出日時 | 2019-01-01 11:44:42 |
言語 | Rust (1.77.0 + proconio) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 1,432 bytes |
コンパイル時間 | 13,535 ms |
コンパイル使用メモリ | 378,380 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-11-06 21:36:37 |
合計ジャッジ時間 | 13,836 ms |
ジャッジサーバーID (参考情報) |
judge4 / judge1 |
(要ログイン)
テストケース
テストケース表示入力 | 結果 | 実行時間 実行使用メモリ |
---|---|---|
testcase_00 | AC | 1 ms
5,248 KB |
testcase_01 | AC | 1 ms
5,248 KB |
testcase_02 | AC | 1 ms
5,248 KB |
testcase_03 | AC | 1 ms
5,248 KB |
testcase_04 | AC | 1 ms
5,248 KB |
testcase_05 | AC | 1 ms
5,248 KB |
testcase_06 | AC | 1 ms
5,248 KB |
testcase_07 | AC | 1 ms
5,248 KB |
testcase_08 | AC | 1 ms
5,248 KB |
testcase_09 | AC | 1 ms
5,248 KB |
コンパイルメッセージ
warning: fields `num_count` and `group` are never read --> src/main.rs:13:5 | 11 | struct InputData { | --------- fields in this struct 12 | /// 数字の個数 13 | num_count: i32, | ^^^^^^^^^ 14 | /// グループ 15 | group: i32, | ^^^^^ | = note: `InputData` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis = note: `#[warn(dead_code)]` on by default
ソースコード
//! No.21 平均の差 //! https://yukicoder.me/problems/no/21 use std::io::stdin; #[cfg(test)] mod test; /// 入力データ #[derive(Debug)] struct InputData { /// 数字の個数 num_count: i32, /// グループ group: i32, /// 数字 nums: Vec<i32>, } /// エントリポイント fn main() { let input = input_data(); println!("{}", average(input)); } /// 復号化します。 fn average(input: InputData) -> f32 { let mut sorted = input.nums; // 降順にソート sorted.sort_by(|a, b| b.cmp(a)); // 最大の平均 let max_val = sorted[0] as f32; // 最小の平均 let min_val = sorted[sorted.len() - 1] as f32; (max_val - min_val).ceil() } /// 標準入力から文字列を取得します。 fn input_data() -> InputData { // 1行目 let mut s1 = String::new(); stdin().read_line(&mut s1).unwrap(); let num_count: i32 = s1.trim().parse().unwrap(); // 2行目 let mut s2 = String::new(); stdin().read_line(&mut s2).unwrap(); let group: i32 = s2.trim().parse().unwrap(); // 3行目以降 let mut nums = Vec::new(); // 1行目で取得したデータ件数分ループ for _i in 0..num_count { let mut s3 = String::new(); stdin().read_line(&mut s3).unwrap(); nums.push(s3.trim().parse().unwrap()); } InputData { num_count, group, nums, } }