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 |
|
|
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 |