Submission #65019651


Source Code Expand

use proconio::input;
use std::{
    collections::HashMap,
    io::{BufWriter, Write, stdout},
};

fn index(xs: &[u32]) -> HashMap<u32, usize> {
    xs.iter().enumerate().map(|(i, x)| (*x, i)).collect()
}

fn max_bindex(bidx: &HashMap<u32, usize>, a: &[u32]) -> usize {
    *a.iter().map(|a| bidx.get(a).unwrap()).max().unwrap()
}

fn prefix_sums(xs: &[usize]) -> Vec<usize> {
    xs.iter().fold(vec![], |mut acc, x| {
        if let Some(last) = acc.last() {
            acc.push(last + x);
        } else {
            acc.push(*x);
        }
        acc
    })
}

fn main() {
    let stdout = stdout();
    let handle = stdout.lock();
    let mut writer = BufWriter::new(handle);

    input! {
        n: usize,
        m: usize,
    }

    let mut aa: Vec<Vec<u32>> = vec![vec![]; m];

    for i in 0..m {
        input! {
            k: usize,
            a: [u32; k],
        }
        aa[i] = a;
    }

    input! { b: [u32; n] }
    let bidx = index(&b);
    let mut ys: Vec<usize> = vec![0; n];

    for a in aa.into_iter() {
        let i = max_bindex(&bidx, &a);
        ys[i] += 1;
    }

    for r in prefix_sums(&ys) {
        writeln!(writer, "{}", r).unwrap();
    }

    writer.flush().unwrap();
}

Submission Info

Submission Time
Task C - Dislike Foods
User ikr
Language Rust (rustc 1.70.0)
Score 300
Code Size 1274 Byte
Status AC
Exec Time 90 ms
Memory 35040 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 300 / 300
Status
AC × 2
AC × 33
Set Name Test Cases
Sample 00_sample_00.txt, 00_sample_01.txt
All 00_sample_00.txt, 00_sample_01.txt, 01_test_00.txt, 01_test_01.txt, 01_test_02.txt, 01_test_03.txt, 01_test_04.txt, 01_test_05.txt, 01_test_06.txt, 01_test_07.txt, 01_test_08.txt, 01_test_09.txt, 01_test_10.txt, 01_test_11.txt, 01_test_12.txt, 01_test_13.txt, 01_test_14.txt, 01_test_15.txt, 01_test_16.txt, 01_test_17.txt, 01_test_18.txt, 01_test_19.txt, 01_test_20.txt, 01_test_21.txt, 01_test_22.txt, 01_test_23.txt, 01_test_24.txt, 01_test_25.txt, 01_test_26.txt, 01_test_27.txt, 01_test_28.txt, 01_test_29.txt, 01_test_30.txt
Case Name Status Exec Time Memory
00_sample_00.txt AC 1 ms 2120 KiB
00_sample_01.txt AC 1 ms 2152 KiB
01_test_00.txt AC 8 ms 4508 KiB
01_test_01.txt AC 4 ms 3064 KiB
01_test_02.txt AC 3 ms 2448 KiB
01_test_03.txt AC 1 ms 2184 KiB
01_test_04.txt AC 3 ms 2716 KiB
01_test_05.txt AC 1 ms 2260 KiB
01_test_06.txt AC 49 ms 21440 KiB
01_test_07.txt AC 14 ms 8372 KiB
01_test_08.txt AC 42 ms 20660 KiB
01_test_09.txt AC 35 ms 14712 KiB
01_test_10.txt AC 38 ms 19980 KiB
01_test_11.txt AC 62 ms 23772 KiB
01_test_12.txt AC 56 ms 22916 KiB
01_test_13.txt AC 14 ms 8028 KiB
01_test_14.txt AC 52 ms 21992 KiB
01_test_15.txt AC 19 ms 7952 KiB
01_test_16.txt AC 78 ms 32804 KiB
01_test_17.txt AC 22 ms 11248 KiB
01_test_18.txt AC 65 ms 23916 KiB
01_test_19.txt AC 45 ms 22640 KiB
01_test_20.txt AC 52 ms 32328 KiB
01_test_21.txt AC 90 ms 35040 KiB
01_test_22.txt AC 88 ms 34960 KiB
01_test_23.txt AC 55 ms 32728 KiB
01_test_24.txt AC 9 ms 5620 KiB
01_test_25.txt AC 9 ms 4732 KiB
01_test_26.txt AC 15 ms 10784 KiB
01_test_27.txt AC 12 ms 7972 KiB
01_test_28.txt AC 9 ms 4220 KiB
01_test_29.txt AC 15 ms 10784 KiB
01_test_30.txt AC 1 ms 1984 KiB