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 13:23:220
2016-05-12 10:07:410
Task:Bosses
Sender:MaxMeijer
Submission time:2016-05-12 13:23:22
Language:C++
Status:READY
Score:0

Feedback

groupverdictscore
#1WRONG ANSWER0
#2WRONG ANSWER0
#3WRONG ANSWER0

Test results

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

Compiler report

input/code.cpp: In function 'int main()':
input/code.cpp:52:41: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
             for(int j=0;j<takes[i].size();j++){
                                         ^

Code

#include <iostream>
#include <vector>
#include <queue>
using namespace std;
vector<int> takes[5000];
int bosses[5000];
int salary[5000];
int depth[5000];
queue<int> todo;
int N;
void incrementSalary(int i){
    while(i>=0){
        salary[i]++;
        i=bosses[i];
    }
}
void incrementDepth(){
    for(int i=0;i<N;i++){
        if(depth[i]!=-1){
            depth[i]++;
        }
    }
}
void decrementSalary(int i){
    while(i>=0){
        salary[i]--;
        i=bosses[i];
    }
}
int main(){
    cin>>N;
    for(int i=0;i<N;i++){
        int K;
        cin>>K;
        depth[i]=-1;
        for(int j=0;j<K;j++){
            int a;
            cin>>a;
            takes[a-1].push_back(i);
        }
    }
    depth[0]=0;
    salary[0]=1;
    bosses[0]=-1;
    todo.push(0);
    int root=0;
    int A=1;
    while(true){
        while(!todo.empty()){
            int i=todo.front();
            todo.pop();
            for(int j=0;j<takes[i].size();j++){
                //cerr<<j<<endl;
                int k=takes[i][j];
                if(depth[k]!=-1&&depth[k]<depth[i]+1)continue;
                todo.push(k);
                if(depth[k]!=-1){
                    decrementSalary(k);
                    A--;
                }
                //cerr<<"a"<<endl;
                bosses[k]=i;
                depth[k]=depth[i]+1;
                salary[k]=0;
                A++;
                //cerr<<bosses[i]<<endl;
                incrementSalary(k);
            }
        }
        if(A==N)break;
        for(int i=1;i<N;i++){
            //cerr<<"i"<<i<<endl;
            if(depth[i]==-1){
                bosses[i]=-1;
                bosses[root]=i;
                salary[i]=salary[root]+1;
                root=i;
                incrementDepth();
                depth[i]=0;
                todo.push(i);
                A++;
            }
        }
    }
    int result=0;
    for(int i=0;i<N;i++){
        result+=salary[i];
    }
    cout<<result<<endl;
}

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: WRONG ANSWER

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
13

view   save

Test 3

Group: 1

Verdict: WRONG ANSWER

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

correct output
22

view   save

user output
14

view   save

Test 4

Group: 1

Verdict: WRONG ANSWER

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
20

view   save

Test 5

Group: 1

Verdict: WRONG ANSWER

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

correct output
23

view   save

user output
28

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
28

view   save

Test 7

Group: 2

Verdict: WRONG ANSWER

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

correct output
527

view   save

user output
2078

view   save

Test 8

Group: 2

Verdict: WRONG ANSWER

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
178

view   save

Test 9

Group: 2

Verdict: WRONG ANSWER

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
93

view   save

Test 10

Group: 2

Verdict: WRONG ANSWER

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

correct output
428

view   save

user output
544

view   save

Test 11

Group: 2

Verdict: WRONG ANSWER

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

correct output
617

view   save

user output
953

view   save

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
545

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
387

view   save

Test 14

Group: 3

Verdict: WRONG ANSWER

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

correct output
6256017

view   save

user output
495898

view   save

Test 15

Group: 3

Verdict: WRONG ANSWER

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

correct output
45193

view   save

user output
1425951

view   save

Test 16

Group: 3

Verdict: WRONG ANSWER

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

correct output
27449

view   save

user output
62625

view   save

Test 17

Group: 3

Verdict: TIME LIMIT EXCEEDED

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: TIME LIMIT EXCEEDED

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

correct output
40097

view   save

user output
(empty)