Submission #48679058


Source Code Expand

use std::collections::{BTreeSet, HashMap};

use proconio::{input, marker::Usize1};

fn main() {
    input! {
        n: usize,
        q: usize,
        mut a: [usize; n],
        ix: [(Usize1, usize); q]
    };

    let mut used = HashMap::new();
    let mut unused = (0..=2 * 100_000).collect::<BTreeSet<usize>>();
    for a_i in a.iter().copied() {
        *used.entry(a_i).or_insert(0) += 1;
        unused.remove(&a_i);
    }

    for (i, x) in ix {
        let count = used.get_mut(&a[i]).unwrap();
        *count -= 1;
        if *count == 0 {
            used.remove(&a[i]);
            unused.insert(a[i]);
        }

        a[i] = x;
        *used.entry(x).or_insert(0) += 1;
        unused.remove(&x);

        let mex = unused.iter().next().unwrap();
        println!("{}", mex);
    }
}

Submission Info

Submission Time
Task E - Mex and Update
User bouzuya
Language Rust (rustc 1.70.0)
Score 475
Code Size 801 Byte
Status AC
Exec Time 362 ms
Memory 28688 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 475 / 475
Status
AC × 1
AC × 35
Set Name Test Cases
Sample sample_01.txt
All hack_01.txt, hack_02.txt, hack_03.txt, hack_04.txt, sample_01.txt, test_01.txt, test_02.txt, test_03.txt, test_04.txt, test_05.txt, test_06.txt, test_07.txt, test_08.txt, test_09.txt, test_10.txt, test_11.txt, test_12.txt, test_13.txt, test_14.txt, test_15.txt, test_16.txt, test_17.txt, test_18.txt, test_19.txt, test_20.txt, test_21.txt, test_22.txt, test_23.txt, test_24.txt, test_25.txt, test_26.txt, test_27.txt, test_28.txt, test_29.txt, test_30.txt
Case Name Status Exec Time Memory
hack_01.txt AC 239 ms 20744 KiB
hack_02.txt AC 243 ms 20960 KiB
hack_03.txt AC 278 ms 21288 KiB
hack_04.txt AC 279 ms 21272 KiB
sample_01.txt AC 3 ms 5656 KiB
test_01.txt AC 3 ms 5656 KiB
test_02.txt AC 3 ms 5640 KiB
test_03.txt AC 209 ms 12116 KiB
test_04.txt AC 209 ms 12120 KiB
test_05.txt AC 214 ms 12848 KiB
test_06.txt AC 281 ms 16532 KiB
test_07.txt AC 341 ms 28688 KiB
test_08.txt AC 210 ms 12280 KiB
test_09.txt AC 218 ms 12988 KiB
test_10.txt AC 329 ms 21076 KiB
test_11.txt AC 344 ms 28596 KiB
test_12.txt AC 266 ms 21580 KiB
test_13.txt AC 251 ms 20996 KiB
test_14.txt AC 325 ms 21236 KiB
test_15.txt AC 326 ms 21228 KiB
test_16.txt AC 328 ms 28228 KiB
test_17.txt AC 328 ms 28172 KiB
test_18.txt AC 332 ms 21076 KiB
test_19.txt AC 337 ms 21260 KiB
test_20.txt AC 362 ms 28144 KiB
test_21.txt AC 345 ms 28200 KiB
test_22.txt AC 308 ms 21280 KiB
test_23.txt AC 313 ms 21200 KiB
test_24.txt AC 310 ms 21288 KiB
test_25.txt AC 308 ms 21080 KiB
test_26.txt AC 228 ms 15616 KiB
test_27.txt AC 304 ms 21124 KiB
test_28.txt AC 291 ms 21140 KiB
test_29.txt AC 255 ms 22176 KiB
test_30.txt AC 329 ms 28096 KiB