Code Submission Evaluation System Login

BOI 2016, day 1

Start:2016-05-12 09:00:00
End:2016-05-12 14:00:00
 

Tasks | Scoreboard | Statistics


CSES - BOI 2016, day 1 - Results
History
2016-05-12 18:38:22100
2016-05-12 18:33:430
2016-05-12 18:18:1667
2016-05-12 17:08:530
2016-05-12 16:41:110
2016-05-12 13:59:140
2016-05-12 13:57:460
2016-05-12 13:53:200
2016-05-12 13:45:380
2016-05-12 13:44:310
Task:Bosses
Sender:ruhanhabib39
Submission time:2016-05-12 13:59:14
Language:C++
Status:READY
Score:0

Feedback

groupverdictscore
#1WRONG ANSWER0
#2RUNTIME ERROR0
#3WRONG ANSWER0

Test results

testverdicttime (s)group
#1ACCEPTED0.05 / 1.501details
#2ACCEPTED0.05 / 1.501details
#3ACCEPTED0.05 / 1.501details
#4ACCEPTED0.06 / 1.501details
#5ACCEPTED0.06 / 1.501details
#6WRONG ANSWER0.05 / 1.501details
#7RUNTIME ERROR0.14 / 1.502details
#8RUNTIME ERROR0.14 / 1.502details
#9RUNTIME ERROR0.14 / 1.502details
#10RUNTIME ERROR0.14 / 1.502details
#11RUNTIME ERROR0.14 / 1.502details
#12WRONG ANSWER0.06 / 1.503details
#13WRONG ANSWER0.06 / 1.503details
#14RUNTIME ERROR0.15 / 1.503details
#15RUNTIME ERROR0.15 / 1.503details
#16RUNTIME ERROR0.14 / 1.503details
#17RUNTIME ERROR0.14 / 1.503details
#18RUNTIME ERROR0.14 / 1.503details

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:57:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%d", &N);
                   ^
input/code.cpp:59:29: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
       int l; scanf("%d", &l);
                             ^
input/code.cpp:61:32: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
          int p; scanf("%d", &p);
                                ^

Code

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

int N;
int K[100];
int S[12];
int L[100];
int par[100];
int G[12];

int sf(int i) {
   if(S[i]) return S[i];
   S[i] = 1;
   for(int v = 1; v <= N; v++) {
      if(G[i] & (1 << v)) {
         S[i] += sf(v);
      }
   }
   return S[i];
}

int ansf() {
   memset(G, 0, sizeof(G));
   for(int u = 1; u <= N; u++) {
      S[u] = 0;
      G[par[u]] |= 1 << u;
   }
   int sm = 0;
   for(int i = 1; i <= N; i++) {
      sm += sf(i);
   }
   return sm;
}

int ff(int i, bool rootDone) {
   if(i > N) {
      return rootDone ? ansf() : (100 * N * (N + 1)) / 2;
   }
   int mn = (100 * N * (N + 1)) / 2;
   if(!rootDone) {
      par[i] = 0;
      mn = ff(i + 1, true);
   }
   for(int u = 1; u <= N; u++) {
      if(K[i] & (1 << u)) {
         par[i] = u;
         int b = K[u] & (1 << i);
         K[u] &= ~(1 << i);
         mn = min(mn, ff(i + 1, rootDone));
         K[u] |= b;
      }
   }
   return mn;
}

int main() {
   scanf("%d", &N);
   for(int u = 1; u <= N; u++) {
      int l; scanf("%d", &l);
      for(int i = 0; i < l; i++) {
         int p; scanf("%d", &p);
         K[u] |= 1 << p;
      }
   }
   printf("%d\n", ff(1, false));
}

Test details

Test 1

Group: 1

Verdict: ACCEPTED

input
4
1 4
3 1 3 4
2 1 2
1 3
view   save

correct output
8

view   save

user output
8

view   save

Test 2

Group: 1

Verdict: ACCEPTED

input
6
2 6 5
3 4 6 3
2 4 1
4 5 3 1 6
...
view   save

correct output
12

view   save

user output
12

view   save

Test 3

Group: 1

Verdict: ACCEPTED

input
9
2 6 3
2 8 4
0
4 8 3 6 9
...
view   save

correct output
22

view   save

user output
22

view   save

Test 4

Group: 1

Verdict: ACCEPTED

input
10
3 3 2 8
3 6 7 3
4 6 10 7 9
1 10
...
view   save

correct output
24

view   save

user output
24

view   save

Test 5

Group: 1

Verdict: ACCEPTED

input
10
3 4 8 10
1 10
1 5
3 6 8 5
...
view   save

correct output
23

view   save

user output
23

view   save

Test 6

Group: 1

Verdict: WRONG ANSWER

input
10
2 2 6
2 3 5
2 4 1
2 6 7
...
view   save

correct output
26

view   save

user output
25

view   save

Test 7

Group: 2

Verdict: RUNTIME ERROR

input
100
2 78 92
1 15
1 57
1 45
...
view   save

correct output
527

view   save

user output
(empty)

Test 8

Group: 2

Verdict: RUNTIME ERROR

input
50
6 16 31 50 6 4 8
7 7 16 27 22 15 30 14
5 20 22 42 33 37
3 18 45 9
...
view   save

correct output
156

view   save

user output
(empty)

Test 9

Group: 2

Verdict: RUNTIME ERROR

input
30
5 12 26 25 18 24
8 6 13 5 7 10 22 20 29
6 16 14 9 27 5 20
3 19 17 11
...
view   save

correct output
77

view   save

user output
(empty)

Test 10

Group: 2

Verdict: RUNTIME ERROR

input
100
2 2 77
3 99 94 85
2 47 29
2 33 74
...
view   save

correct output
428

view   save

user output
(empty)

Test 11

Group: 2

Verdict: RUNTIME ERROR

input
100
3 50 11 85
2 84 69
2 41 39
2 43 82
...
view   save

correct output
617

view   save

user output
(empty)

Test 12

Group: 3

Verdict: WRONG ANSWER

input
200
46 154 36 47 187 86 48 66 124 ...
view   save

correct output
531

view   save

user output
360762944

view   save

Test 13

Group: 3

Verdict: WRONG ANSWER

input
150
60 32 101 42 139 95 36 81 83 1...
view   save

correct output
370

view   save

user output
-201121792

view   save

Test 14

Group: 3

Verdict: RUNTIME ERROR

input
5000
1 3355
1 2176
1 3754
1 950
...
view   save

correct output
6256017

view   save

user output
(empty)

Test 15

Group: 3

Verdict: RUNTIME ERROR

input
5000
1 848
1 418
1 3390
1 2840
...
view   save

correct output
45193

view   save

user output
(empty)

Test 16

Group: 3

Verdict: RUNTIME ERROR

input
5000
2 4629 753
1 345
3 3573 1802 449
1 3051
...
view   save

correct output
27449

view   save

user output
(empty)

Test 17

Group: 3

Verdict: RUNTIME ERROR

input
5000
2 2282 1819
2 2987 3194
2 3472 4256
2 3226 3684
...
view   save

correct output
39850

view   save

user output
(empty)

Test 18

Group: 3

Verdict: RUNTIME ERROR

input
5000
2 1912 3423
2 419 4226
2 1627 4693
2 4760 1391
...
view   save

correct output
40097

view   save

user output
(empty)