Submission #40981119


Source Code Expand

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

macro_rules! chmin {
    ($min_v: expr, $v: expr) => {
        if $v < $min_v {
            $min_v = $v;
            true
        } else {
            false
        }
    };
}

fn main() {
    input! {
        n: usize,
        m: usize,
        sc: [(Chars, usize); m],
    }
    let mut tc = vec![];
    for (s, c) in sc {
        let mut t = 0_usize;
        for i in 0..n {
            if s[i] == 'Y' {
                t |= 1 << (n - i - 1);
            }
        }
        tc.push((t, c));
    }

    let inf = 1_usize << 60;
    let mut dp = vec![vec![inf; 1 << n]; m + 1];
    dp[0][0] = 0_usize;
    for (i, (t, c)) in tc.iter().copied().enumerate() {
        for bits in 0..1 << n {
            chmin!(dp[i + 1][bits], dp[i][bits]);
            chmin!(dp[i + 1][bits | t], dp[i][bits] + c);
        }
    }
    let ans = dp[m][(1 << n) - 1];
    println!("{}", if ans == inf { -1 } else { ans as i64 });
}

Submission Info

Submission Time
Task I - Procurement
User bouzuya
Language Rust (1.42.0)
Score 6
Code Size 954 Byte
Status AC
Exec Time 25 ms
Memory 10200 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 6 / 6
Status
AC × 3
AC × 44
Set Name Test Cases
Sample example_01.txt, example_02.txt, example_03.txt
All example_01.txt, example_02.txt, example_03.txt, subtask_01_01.txt, subtask_01_02.txt, subtask_01_03.txt, subtask_01_04.txt, subtask_01_05.txt, subtask_01_06.txt, subtask_01_07.txt, subtask_01_08.txt, subtask_01_09.txt, subtask_01_10.txt, subtask_01_11.txt, subtask_01_12.txt, subtask_01_13.txt, subtask_01_14.txt, subtask_01_15.txt, subtask_01_16.txt, subtask_01_17.txt, subtask_01_18.txt, subtask_01_19.txt, subtask_01_20.txt, subtask_01_21.txt, subtask_01_22.txt, subtask_01_23.txt, subtask_01_24.txt, subtask_01_25.txt, subtask_01_26.txt, subtask_01_27.txt, subtask_01_28.txt, subtask_01_29.txt, subtask_01_30.txt, subtask_01_31.txt, subtask_01_32.txt, subtask_01_33.txt, subtask_01_34.txt, subtask_01_35.txt, subtask_01_36.txt, subtask_01_37.txt, subtask_01_38.txt, subtask_01_39.txt, subtask_01_40.txt, subtask_01_41.txt
Case Name Status Exec Time Memory
example_01.txt AC 7 ms 2076 KiB
example_02.txt AC 1 ms 2032 KiB
example_03.txt AC 2 ms 2184 KiB
subtask_01_01.txt AC 2 ms 2120 KiB
subtask_01_02.txt AC 1 ms 1928 KiB
subtask_01_03.txt AC 2 ms 2148 KiB
subtask_01_04.txt AC 14 ms 10128 KiB
subtask_01_05.txt AC 20 ms 10196 KiB
subtask_01_06.txt AC 20 ms 10108 KiB
subtask_01_07.txt AC 17 ms 10200 KiB
subtask_01_08.txt AC 2 ms 2308 KiB
subtask_01_09.txt AC 7 ms 4084 KiB
subtask_01_10.txt AC 17 ms 10140 KiB
subtask_01_11.txt AC 14 ms 10200 KiB
subtask_01_12.txt AC 2 ms 2256 KiB
subtask_01_13.txt AC 2 ms 2076 KiB
subtask_01_14.txt AC 17 ms 10104 KiB
subtask_01_15.txt AC 17 ms 10116 KiB
subtask_01_16.txt AC 8 ms 4128 KiB
subtask_01_17.txt AC 3 ms 3260 KiB
subtask_01_18.txt AC 25 ms 10132 KiB
subtask_01_19.txt AC 16 ms 10032 KiB
subtask_01_20.txt AC 3 ms 2632 KiB
subtask_01_21.txt AC 2 ms 2176 KiB
subtask_01_22.txt AC 17 ms 10012 KiB
subtask_01_23.txt AC 15 ms 10200 KiB
subtask_01_24.txt AC 2 ms 2372 KiB
subtask_01_25.txt AC 2 ms 2068 KiB
subtask_01_26.txt AC 17 ms 10200 KiB
subtask_01_27.txt AC 23 ms 10080 KiB
subtask_01_28.txt AC 5 ms 3192 KiB
subtask_01_29.txt AC 9 ms 5144 KiB
subtask_01_30.txt AC 23 ms 10104 KiB
subtask_01_31.txt AC 16 ms 10180 KiB
subtask_01_32.txt AC 17 ms 10124 KiB
subtask_01_33.txt AC 2 ms 2148 KiB
subtask_01_34.txt AC 16 ms 9960 KiB
subtask_01_35.txt AC 17 ms 10140 KiB
subtask_01_36.txt AC 3 ms 2192 KiB
subtask_01_37.txt AC 2 ms 2216 KiB
subtask_01_38.txt AC 16 ms 10032 KiB
subtask_01_39.txt AC 17 ms 10116 KiB
subtask_01_40.txt AC 16 ms 10136 KiB
subtask_01_41.txt AC 5 ms 3252 KiB