提出 #37711899


ソースコード 拡げる

use std::collections::BinaryHeap;

use proconio::input;

fn main() {
    input! {
        n: usize,
        m: usize,
        mut ab: [(usize, usize); n],
    };

    ab.sort_by_key(|&(a, _)| a);

    let mut sum = 0_usize;
    let mut pq = BinaryHeap::new();
    let mut index = 0_usize;
    for d in 1..=m {
        while index < n {
            let (a, b) = ab[index];
            if a <= d {
                pq.push(b);
            } else {
                break;
            }
            index += 1;
        }

        if let Some(x) = pq.pop() {
            sum += x;
        }
    }

    let ans = sum;
    println!("{}", ans);
}

提出情報

提出日時
問題 D - Summer Vacation
ユーザ bouzuya
言語 Rust (1.42.0)
得点 400
コード長 638 Byte
結果 AC
実行時間 32 ms
メモリ 5812 KiB

ジャッジ結果

セット名 All Sample
得点 / 配点 400 / 400 0 / 0
結果
AC × 21
AC × 3
セット名 テストケース
All sample_01, sample_02, sample_03, testcase_01, testcase_02, testcase_03, testcase_04, testcase_05, testcase_06, testcase_07, testcase_08, testcase_09, testcase_10, testcase_11, testcase_12, testcase_13, testcase_14, testcase_15, testcase_16, testcase_17, testcase_18
Sample sample_01, sample_02, sample_03
ケース名 結果 実行時間 メモリ
sample_01 AC 7 ms 2104 KiB
sample_02 AC 2 ms 2060 KiB
sample_03 AC 2 ms 2056 KiB
testcase_01 AC 7 ms 2240 KiB
testcase_02 AC 3 ms 2256 KiB
testcase_03 AC 23 ms 4584 KiB
testcase_04 AC 31 ms 5328 KiB
testcase_05 AC 25 ms 5308 KiB
testcase_06 AC 27 ms 5284 KiB
testcase_07 AC 19 ms 4768 KiB
testcase_08 AC 10 ms 2832 KiB
testcase_09 AC 22 ms 4424 KiB
testcase_10 AC 32 ms 5444 KiB
testcase_11 AC 25 ms 5384 KiB
testcase_12 AC 13 ms 2876 KiB
testcase_13 AC 26 ms 5808 KiB
testcase_14 AC 20 ms 5620 KiB
testcase_15 AC 4 ms 2328 KiB
testcase_16 AC 25 ms 5812 KiB
testcase_17 AC 10 ms 2604 KiB
testcase_18 AC 28 ms 5328 KiB