結果
| 問題 |
No.586 ダブルブッキング
|
| コンテスト | |
| ユーザー |
atuk721
|
| 提出日時 | 2017-11-06 03:54:18 |
| 言語 | Rust (1.83.0 + proconio) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 1,189 bytes |
| コンパイル時間 | 12,190 ms |
| コンパイル使用メモリ | 378,588 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-24 03:02:56 |
| 合計ジャッジ時間 | 12,957 ms |
|
ジャッジサーバーID (参考情報) |
judge5 / judge4 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 3 |
| other | AC * 2 WA * 3 |
コンパイルメッセージ
warning: field `count` is never read
--> src/main.rs:10:5
|
7 | struct Input {
| ----- field in this struct
...
10 | count: u32,
| ^^^^^
|
= note: `Input` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
= note: `#[warn(dead_code)]` on by default
ソースコード
use std::io;
use std::io::BufRead;
use std::io::Lines;
use std::io::StdinLock;
#[derive(Debug)]
struct Input {
yuki_hotel_fee: u32,
other_hotel_fee: u32,
count: u32,
reservations: Vec<u32>
}
fn read_next(iter: &mut Lines<StdinLock>) -> Option<u32> {
match iter.next() {
Some(res) => Some(res.unwrap().parse().unwrap()),
None => None
}
}
fn create_input() -> Input {
let mut reservations = Vec::new();
let stdin = io::stdin();
let mut lines = stdin.lock().lines();
let yuki_fee = read_next(&mut lines).unwrap();
let other_fee = read_next(&mut lines).unwrap();
let count = read_next(&mut lines).unwrap();
while let Some(data) = read_next(&mut lines) {
reservations.push(data);
}
Input {yuki_hotel_fee: yuki_fee, other_hotel_fee: other_fee, count: count, reservations: reservations}
}
fn calcurate(input: &Input) -> u32 {
let mut clone = input.reservations.clone();
clone.dedup();
(input.yuki_hotel_fee + input.other_hotel_fee) * (input.reservations.len() - clone.len()) as u32
}
fn main() {
let input = create_input();
let result = calcurate(&input);
println!("{}", result);
}
atuk721