Submission #37711899


Source Code Expand

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);
}

Submission Info

Submission Time
Task D - Summer Vacation
User bouzuya
Language Rust (1.42.0)
Score 400
Code Size 638 Byte
Status AC
Exec Time 32 ms
Memory 5812 KiB

Judge Result

Set Name All Sample
Score / Max Score 400 / 400 0 / 0
Status
AC × 21
AC × 3
Set Name Test Cases
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
Case Name Status Exec Time Memory
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