Submission #7771023


Source Code Expand

#include<bits/stdc++.h>
#define rep(i,a,b) for(int i=a;i<b;i++)
#define rrep(i,a,b) for(int i=a;i>=b;i--)
#define fore(i,a) for(auto &i:a)
#define all(x) (x).begin(),(x).end()
//#pragma GCC optimize ("-O3")
using namespace std; void _main(); int main() { cin.tie(0); ios::sync_with_stdio(false); _main(); }
typedef long long ll; const int inf = INT_MAX / 2; const ll infl = 1LL << 60;
template<class T>bool chmax(T& a, const T& b) { if (a < b) { a = b; return 1; } return 0; }
template<class T>bool chmin(T& a, const T& b) { if (b < a) { a = b; return 1; } return 0; }
//---------------------------------------------------------------------------------------------------
/*---------------------------------------------------------------------------------------------------
            ∧_∧
      ∧_∧  (´<_` )  Welcome to My Coding Space!
     ( ´_ゝ`) /  ⌒i     @hamayanhamayan
    /   \     | |
    /   / ̄ ̄ ̄ ̄/  |
  __(__ニつ/     _/ .| .|____
     \/____/ (u ⊃
---------------------------------------------------------------------------------------------------*/

int N, M, A[1010], B[1010], takara[1010];
int dp[1010][1 << 12];
//---------------------------------------------------------------------------------------------------
void _main() {
    cin >> N >> M;
    rep(i, 0, M) {
        cin >> A[i] >> B[i];
        rep(j, 0, B[i]) {
            int c;
            cin >> c;
            c--;
            takara[i] |= 1 << c;
        }
    }

    rep(i, 0, M + 1) rep(msk, 0, 1 << N) dp[i][msk] = inf;
    dp[0][0] = 0;

    rep(i, 0, M) rep(msk, 0, 1 << N) {
        chmin(dp[i + 1][msk], dp[i][msk]);
        chmin(dp[i + 1][msk | takara[i]], dp[i][msk] + A[i]);
    }

    int ans = dp[M][(1 << N) - 1];
    if (ans == inf) ans = -1;
    cout << ans << endl;
}






Submission Info

Submission Time
Task E - Get Everything
User hamayanhamayan
Language C++14 (GCC 5.4.1)
Score 500
Code Size 1939 Byte
Status AC
Exec Time 16 ms
Memory 16256 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 1 ms 256 KiB
00-sample-01 AC 1 ms 256 KiB
00-sample-02 AC 1 ms 256 KiB
01-handmade-03 AC 4 ms 13440 KiB
01-handmade-04 AC 16 ms 16256 KiB
01-handmade-05 AC 1 ms 512 KiB
01-handmade-06 AC 3 ms 3840 KiB
01-handmade-07 AC 13 ms 16256 KiB
02-random-08 AC 7 ms 11520 KiB
02-random-09 AC 1 ms 384 KiB
02-random-10 AC 6 ms 13440 KiB
02-random-11 AC 3 ms 1408 KiB
02-random-12 AC 5 ms 8960 KiB
02-random-13 AC 4 ms 3840 KiB
02-random-14 AC 3 ms 4864 KiB
02-random-15 AC 6 ms 11520 KiB
02-random-16 AC 7 ms 7936 KiB
02-random-17 AC 6 ms 13056 KiB
02-random-18 AC 8 ms 14080 KiB
02-random-19 AC 5 ms 5888 KiB
02-random-20 AC 2 ms 1024 KiB
02-random-21 AC 11 ms 14080 KiB
02-random-22 AC 14 ms 12544 KiB
02-random-23 AC 4 ms 8960 KiB
02-random-24 AC 12 ms 15360 KiB
02-random-25 AC 12 ms 14720 KiB
02-random-26 AC 7 ms 13952 KiB
02-random-27 AC 3 ms 1536 KiB
02-random-28 AC 4 ms 7424 KiB
02-random-29 AC 9 ms 14080 KiB
02-random-30 AC 3 ms 3840 KiB
02-random-31 AC 12 ms 15232 KiB
02-random-32 AC 4 ms 4352 KiB
02-random-33 AC 4 ms 7424 KiB
02-random-34 AC 5 ms 11008 KiB
02-random-35 AC 11 ms 10496 KiB
02-random-36 AC 6 ms 9472 KiB
02-random-37 AC 1 ms 512 KiB
02-random-38 AC 4 ms 6912 KiB
02-random-39 AC 9 ms 14848 KiB