結果

問題 No.3065 Speedrun (Normal)
ユーザー atcoder8
提出日時 2025-03-21 21:56:32
言語 Rust
(1.83.0 + proconio)
結果
AC  
実行時間 1 ms / 2,000 ms
コード長 875 bytes
コンパイル時間 11,390 ms
コンパイル使用メモリ 399,236 KB
実行使用メモリ 7,324 KB
最終ジャッジ日時 2025-03-21 21:56:46
合計ジャッジ時間 12,312 ms
ジャッジサーバーID
(参考情報)
judge4 / judge7
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
sample AC * 3
other AC * 13
権限があれば一括ダウンロードができます

ソースコード

diff #

use proconio::input;

fn main() {
    input! {
        num_problems: [usize; 4],
        num_times: [usize; 4],
        t: usize,
    }

    let mut problems = num_problems
        .iter()
        .zip(&num_times)
        .map(|(&num, &time)| Problem::new(num, time))
        .collect::<Vec<_>>();
    problems.sort_unstable_by_key(|problem| problem.time);

    let mut sum_solved_problems = 0_usize;
    let mut rem_time = t;
    for &problem in &problems {
        let num_solved_problems = (rem_time / problem.time).min(problem.num);
        sum_solved_problems += num_solved_problems;
        rem_time -= problem.time * num_solved_problems;
    }

    println!("{}", sum_solved_problems);
}

#[derive(Debug, Clone, Copy)]
struct Problem {
    num: usize,
    time: usize,
}

impl Problem {
    fn new(num: usize, time: usize) -> Self {
        Self { num, time }
    }
}
0