Submission #27600466


Source Code Expand

#include <bits/stdc++.h>
using namespace std;

long long dp[1010][1 << 13];
int main(){

    int N, M;
    cin >> N >> M;
    vector<long long>A(M);
    vector<int>key(M, 0);
    for(int i = 0; i < M; i++){
        cin >> A[i];
        int b;
        cin >> b;
        for(int j = 0; j < b; j++){
            int c;
            cin >> c;
            c--;
            key[i] |= 1 << c;
        }
    }

    for(int i = 0; i <= M; i++){
        for(int j = 0; j <= (1 << N); j++){
            dp[i][j] = 1e18;
        }
    }
    for(int i = 0; i <= M; i++) dp[i][0] = 0;


    for(int i = 0; i < M; i++){
        for(int bit = 0; bit < (1 << N); bit++){
            dp[i + 1][bit] = min(dp[i + 1][bit], dp[i][bit]);
            dp[i + 1][bit | key[i]] = min(dp[i + 1][bit | key[i]], dp[i][bit] + A[i]);
        }
    }

    if(dp[M][(1 << N) - 1] == 1e18) cout << -1 << endl;
    else cout << dp[M][(1 << N) - 1] << endl;
    return 0;
}

Submission Info

Submission Time
Task E - Get Everything
User macle
Language C++ (GCC 9.2.1)
Score 500
Code Size 976 Byte
Status AC
Exec Time 46 ms
Memory 39536 KiB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 500 / 500
Status
AC × 3
AC × 40
Set Name Test Cases
Sample 00-sample-00, 00-sample-01, 00-sample-02
All 00-sample-00, 00-sample-01, 00-sample-02, 01-handmade-03, 01-handmade-04, 01-handmade-05, 01-handmade-06, 01-handmade-07, 02-random-08, 02-random-09, 02-random-10, 02-random-11, 02-random-12, 02-random-13, 02-random-14, 02-random-15, 02-random-16, 02-random-17, 02-random-18, 02-random-19, 02-random-20, 02-random-21, 02-random-22, 02-random-23, 02-random-24, 02-random-25, 02-random-26, 02-random-27, 02-random-28, 02-random-29, 02-random-30, 02-random-31, 02-random-32, 02-random-33, 02-random-34, 02-random-35, 02-random-36, 02-random-37, 02-random-38, 02-random-39
Case Name Status Exec Time Memory
00-sample-00 AC 9 ms 3568 KiB
00-sample-01 AC 2 ms 3460 KiB
00-sample-02 AC 2 ms 3524 KiB
01-handmade-03 AC 7 ms 7568 KiB
01-handmade-04 AC 46 ms 39528 KiB
01-handmade-05 AC 2 ms 4052 KiB
01-handmade-06 AC 9 ms 6384 KiB
01-handmade-07 AC 40 ms 39536 KiB
02-random-08 AC 15 ms 11872 KiB
02-random-09 AC 2 ms 3660 KiB
02-random-10 AC 16 ms 11364 KiB
02-random-11 AC 6 ms 5984 KiB
02-random-12 AC 15 ms 8408 KiB
02-random-13 AC 8 ms 7836 KiB
02-random-14 AC 7 ms 6284 KiB
02-random-15 AC 12 ms 11560 KiB
02-random-16 AC 14 ms 12088 KiB
02-random-17 AC 18 ms 10464 KiB
02-random-18 AC 17 ms 14908 KiB
02-random-19 AC 11 ms 10436 KiB
02-random-20 AC 5 ms 4936 KiB
02-random-21 AC 18 ms 20188 KiB
02-random-22 AC 27 ms 29344 KiB
02-random-23 AC 8 ms 7804 KiB
02-random-24 AC 26 ms 23588 KiB
02-random-25 AC 23 ms 22512 KiB
02-random-26 AC 15 ms 14824 KiB
02-random-27 AC 6 ms 5512 KiB
02-random-28 AC 14 ms 8448 KiB
02-random-29 AC 29 ms 20484 KiB
02-random-30 AC 8 ms 6488 KiB
02-random-31 AC 22 ms 23272 KiB
02-random-32 AC 12 ms 9480 KiB
02-random-33 AC 11 ms 8220 KiB
02-random-34 AC 10 ms 9688 KiB
02-random-35 AC 28 ms 22828 KiB
02-random-36 AC 12 ms 10564 KiB
02-random-37 AC 2 ms 4028 KiB
02-random-38 AC 6 ms 6668 KiB
02-random-39 AC 25 ms 22492 KiB