結果
問題 |
No.79 過小評価ダメ・ゼッタイ
|
ユーザー |
|
提出日時 | 2019-04-07 18:39:10 |
言語 | Rust (1.83.0 + proconio) |
結果 |
AC
|
実行時間 | 4 ms / 5,000 ms |
コード長 | 1,302 bytes |
コンパイル時間 | 16,515 ms |
コンパイル使用メモリ | 377,724 KB |
実行使用メモリ | 5,376 KB |
最終ジャッジ日時 | 2024-06-27 14:22:21 |
合計ジャッジ時間 | 13,674 ms |
ジャッジサーバーID (参考情報) |
judge5 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 22 |
ソースコード
use std::io::stdin; /// エントリポイント fn main() { let input = read_lines(); println!("{}", majority_vote(input)); } /// 標準入力から文字列を取得します。 fn read_lines() -> String { // 1行目 let mut str1 = String::new(); stdin().read_line(&mut str1).unwrap(); let _num_count: i32 = str1.trim().parse().unwrap(); // 2行目 let mut str2 = String::new(); stdin().read_line(&mut str2).unwrap(); str2 } /// 多数決で一番多いレベルを取得します。 /// 複数ある場合は、レベルの高い方を取得します。 fn majority_vote(survey: String) -> i32 { let list = survey .trim() .split_whitespace() .collect::<Vec<&str>>() .iter() // Vec<&str> を Vec<i32> に変換 .map(|&x| x.parse().unwrap()) .collect::<Vec<i32>>(); // voteの0番目は使用しない let mut vote = [0; 7]; for v in list { let i = v as usize; vote[i] = vote[i] + 1; } // 配列の中で一番大きい数値のインデックスを返す。 let mut max_index = 0; let mut max_num = 0; for i in 0..7 { if vote[i] >= max_num { max_index = i; max_num = vote[i]; } } max_index as i32 }