CSES - UKIEPC 2016 - Results
Submission details
Task:Jack and the Beanbag
Sender:Game of Nolife
Submission time:2016-11-12 14:35:26 +0200
Language:C++
Status:READY
Result:ACCEPTED
Test results
testverdicttime
#1ACCEPTED0.05 sdetails
#2ACCEPTED0.05 sdetails
#3ACCEPTED0.06 sdetails
#4ACCEPTED0.05 sdetails
#5ACCEPTED0.05 sdetails
#6ACCEPTED0.05 sdetails
#7ACCEPTED0.06 sdetails
#8ACCEPTED0.05 sdetails
#9ACCEPTED0.05 sdetails
#10ACCEPTED0.13 sdetails
#11ACCEPTED0.05 sdetails
#12ACCEPTED0.06 sdetails
#13ACCEPTED0.06 sdetails
#14ACCEPTED0.18 sdetails
#15ACCEPTED0.17 sdetails
#16ACCEPTED0.16 sdetails
#17ACCEPTED0.12 sdetails
#18ACCEPTED0.11 sdetails
#19ACCEPTED0.11 sdetails
#20ACCEPTED0.05 sdetails
#21ACCEPTED0.06 sdetails
#22ACCEPTED0.05 sdetails
#23ACCEPTED0.05 sdetails
#24ACCEPTED0.06 sdetails
#25ACCEPTED0.06 sdetails
#26ACCEPTED0.06 sdetails

Code

#include <bits/stdc++.h>
#define F first
#define S second
#define X real()
#define Y imag()
using namespace std;
typedef long long ll;
typedef long double ld;

int hs[111];

int w[22];

int main(){
	ios_base::sync_with_stdio(0);
	cin.tie(0);
	int b;
	cin>>b;
	int s=0;
	for (int i=0;i<b;i++){
		cin>>w[i];
		s+=w[i];
	}
	int t;
	cin>>t;
	for (int i=0;i<t;i++){
		int k;
		cin>>k;
		for (int j=0;j<k;j++){
			int a;
			cin>>a;
			a--;
			hs[i]|=(1<<a);
		}
	}
	int mi=s;
	for (int i=0;i<(1<<b);i++){
		int tw=0;
		for (int j=0;j<b;j++){
			if ((1<<j)&i) tw+=w[j];
		}
		int ok=1;
		for (int j=0;j<t;j++){
			if ((i&hs[j])==0){
				ok=0;
				break;
			}
		}
		if (ok){
			mi=min(mi, tw);
		}
	}
	cout<<s-mi<<endl;
}

Test details

Test 1

Verdict: ACCEPTED

input
13
34 46 39 35 30 44 35 41 38 41 ...

correct output
441

user output
441

Test 2

Verdict: ACCEPTED

input
13
20 19 24 25 29 27 29 27 33 18 ...

correct output
189

user output
189

Test 3

Verdict: ACCEPTED

input
16
30 17 22 26 24 29 26 27 16 25 ...

correct output
390

user output
390

Test 4

Verdict: ACCEPTED

input
13
36 22 20 19 19 23 21 30 26 21 ...

correct output
201

user output
201

Test 5

Verdict: ACCEPTED

input
2
46 46
95
2 1 2
1 2
...

correct output
0

user output
0

Test 6

Verdict: ACCEPTED

input
11
36 31 33 47 44 31 40 40 37 22 ...

correct output
259

user output
259

Test 7

Verdict: ACCEPTED

input
5
76 72 66 58 68
18
5 3 2 5 4 1
4 3 5 1 4
...

correct output
214

user output
214

Test 8

Verdict: ACCEPTED

input
12
22 19 25 16 20 22 26 16 20 11 ...

correct output
184

user output
184

Test 9

Verdict: ACCEPTED

input
14
24 27 24 22 33 23 28 24 27 17 ...

correct output
303

user output
303

Test 10

Verdict: ACCEPTED

input
20
20 21 27 25 18 23 22 22 25 21 ...

correct output
332

user output
332

Test 11

Verdict: ACCEPTED

input
13
18 14 26 40 25 21 25 29 42 28 ...

correct output
229

user output
229

Test 12

Verdict: ACCEPTED

input
5
28 23 33 19 22
30
4 1 2 5 4
3 2 1 3
...

correct output
61

user output
61

Test 13

Verdict: ACCEPTED

input
6
39 54 37 56 40 46
48
4 4 2 6 5
4 6 3 4 1
...

correct output
102

user output
102

Test 14

Verdict: ACCEPTED

input
20
14 24 26 19 20 18 14 17 27 23 ...

correct output
322

user output
322

Test 15

Verdict: ACCEPTED

input
20
10 11 5 6 4 10 5 5 8 7 7 10 5 ...

correct output
120

user output
120

Test 16

Verdict: ACCEPTED

input
20
15 25 23 25 27 25 25 19 15 26 ...

correct output
384

user output
384

Test 17

Verdict: ACCEPTED

input
20
1 0 5 2 1 1 1 1 1 2 2 1 2 2 0 ...

correct output
25

user output
25

Test 18

Verdict: ACCEPTED

input
20
0 0 0 0 0 1 1 0 0 1 1 1 1 2 0 ...

correct output
8

user output
8

Test 19

Verdict: ACCEPTED

input
20
24 15 26 23 28 25 25 29 24 21 ...

correct output
453

user output
453

Test 20

Verdict: ACCEPTED

input
12
35 34 44 50 76 80 72 63 65 67 ...

correct output
450

user output
450

Test 21

Verdict: ACCEPTED

input
14
1 3 2 3 3 5 2 1 1 5 6 0 2 4
89
12 13 6 9 2 10 4 8 7 3 11 1 5
11 8 10 2 13 6 9 1 5 11 3 14
...

correct output
26

user output
26

Test 22

Verdict: ACCEPTED

input
18
40 31 37 30 31 59 62 53 58 57 ...

correct output
793

user output
793

Test 23

Verdict: ACCEPTED

input
7
20 28 42 34 33 41 46
11
5 3 7 5 4 1
6 4 3 6 5 7 1
...

correct output
174

user output
174

Test 24

Verdict: ACCEPTED

input
7
15 15 16 14 23 13 16
44
5 5 6 1 4 2
4 6 3 5 7
...

correct output
54

user output
54

Test 25

Verdict: ACCEPTED

input
5
24 32 19 18 20
85
3 2 5 4
4 2 3 1 5
...

correct output
51

user output
51

Test 26

Verdict: ACCEPTED

input
2
100 99
49
1 1
1 1
...

correct output
0

user output
0