CSES - Datatähti 2023 alku - Results
Submission details
Task:Sadonkorjuu
Sender:aarov
Submission time:2022-11-03 13:26:39 +0200
Language:Node.js
Status:READY
Result:0
Feedback
groupverdictscore
#10
#20
Test results
testverdicttimegroup
#1ACCEPTED0.11 s1, 2details
#2ACCEPTED0.11 s1, 2details
#3ACCEPTED0.11 s1, 2details
#4ACCEPTED0.12 s1, 2details
#5ACCEPTED0.11 s1, 2details
#6ACCEPTED0.28 s1, 2details
#7--2details
#8--1, 2details
#9--2details
#10--1, 2details
#11--2details
#12--2details
#13--2details
#14--2details
#15ACCEPTED0.17 s1, 2details
#16--1, 2details
#17--1, 2details
#18--1, 2details
#19--1, 2details
#20--1, 2details
#21--2details
#22--2details
#23--2details
#24--1, 2details
#25--2details
#26--1, 2details
#27--2details
#28ACCEPTED0.14 s1, 2details
#29--2details
#30ACCEPTED0.14 s1, 2details
#31--2details

Code

let lines = [];
let lineindex = 0;
let toprocess = 0;
function prompt() {
    return lines[lineindex++];
}

function main() {
    let n = parseInt(prompt());
    let cities = {};

    let parts = prompt().split(' ');
    for (let i = 0; i < n; i++) {
        cities[i+1] = {
            hasharbor: parts[i] == '0',
            neighbors: []
        } 
    }

    for (let i = 0; i < n-1; i++) {
        parts = prompt().split(' ');
        let a = parseInt(parts[0]);
        let b = parseInt(parts[1]);
        let dist = parseInt(parts[2]);
        cities[a].neighbors.push({city: b, dist: dist});
        cities[b].neighbors.push({city: a, dist: dist});
    }

    function findpath(a, b) {
        let visited = {};
        let queue = [];
        queue.push({city: a, dist: 0});
        while (queue.length > 0) {
            let current = queue.shift();
            if (current.city == b) {
                return current.dist;
            }
            visited[current.city] = true;
            for (let i = 0; i < cities[current.city].neighbors.length; i++) {
                let neighbor = cities[current.city].neighbors[i];
                if (!visited[neighbor.city]) {
                    queue.push({city: neighbor.city, dist: current.dist + neighbor.dist});
                }
            }
        }
    }
    let total = 0;
    for (let i = 1; i <= n; i++) {
        let city = cities[i];
        if (!city.hasharbor) {
            let closestharbordist = Math.pow(10, 10); 
            for (let j = 1; j <= n; j++) {
                if (cities[j].hasharbor) {
                    let dist = findpath(i, j);
                    if (dist < closestharbordist) {
                        closestharbordist = dist;
                    }
                }
            }
            total += closestharbordist;
        }
    }
    console.log(total.toString());
    process.exit(0);
}

require('readline').createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false
}).on('line', function (data) {
    if (toprocess == 0) { toprocess = parseInt(data.split(' ')[0])+1; }
    lines.push(data)
    if (lines.length == toprocess) {
        main();
    }
});

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
1
0

correct output
0

user output
0

Test 2

Group: 1, 2

Verdict: ACCEPTED

input
5
0 0 0 0 0
1 2 1
2 3 2
3 4 3
...

correct output
0

user output
0

Test 3

Group: 1, 2

Verdict: ACCEPTED

input
4
1 0 1 1
1 2 10
2 3 20
2 4 30

correct output
60

user output
60

Test 4

Group: 1, 2

Verdict: ACCEPTED

input
5
0 1 1 1 0
1 2 10
2 3 20
3 4 30
...

correct output
80

user output
80

Test 5

Group: 1, 2

Verdict: ACCEPTED

input
5
0 1 0 1 1
1 2 1
2 3 5
3 4 3
...

correct output
6

user output
6

Test 6

Group: 1, 2

Verdict: ACCEPTED

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
5506363

user output
5506363

Test 7

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1795118520

user output
(empty)

Test 8

Group: 1, 2

Verdict:

input
1000
0 0 1 0 1 1 0 1 0 1 1 0 0 0 1 ...

correct output
293576

user output
(empty)

Test 9

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
816932444

user output
(empty)

Test 10

Group: 1, 2

Verdict:

input
1000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
3089

user output
(empty)

Test 11

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
40839

user output
(empty)

Test 12

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
5683983203973

user output
(empty)

Test 13

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 0 0 0 1 1 0 1 0 ...

correct output
58572993

user output
(empty)

Test 14

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
32755

user output
(empty)

Test 15

Group: 1, 2

Verdict: ACCEPTED

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
126238345

user output
126238345

Test 16

Group: 1, 2

Verdict:

input
1000
0 0 0 1 0 1 1 1 0 0 1 0 1 1 0 ...

correct output
278678

user output
(empty)

Test 17

Group: 1, 2

Verdict:

input
1000
1 0 0 0 1 0 0 0 1 0 0 0 0 0 0 ...

correct output
34929

user output
(empty)

Test 18

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1543963

user output
(empty)

Test 19

Group: 1, 2

Verdict:

input
1000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
39606

user output
(empty)

Test 20

Group: 1, 2

Verdict:

input
1000
1 0 1 0 1 0 0 0 0 1 1 0 0 0 1 ...

correct output
321598

user output
(empty)

Test 21

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
978670626

user output
(empty)

Test 22

Group: 2

Verdict:

input
200000
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ...

correct output
375218

user output
(empty)

Test 23

Group: 2

Verdict:

input
200000
1 1 1 1 0 0 0 0 0 1 0 1 0 1 1 ...

correct output
60422556

user output
(empty)

Test 24

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
291990

user output
(empty)

Test 25

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
59607954

user output
(empty)

Test 26

Group: 1, 2

Verdict:

input
1000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
990

user output
(empty)

Test 27

Group: 2

Verdict:

input
200000
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
199982

user output
(empty)

Test 28

Group: 1, 2

Verdict: ACCEPTED

input
1000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
7987

user output
7987

Test 29

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
3137875

user output
(empty)

Test 30

Group: 1, 2

Verdict: ACCEPTED

input
1000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
4657693

user output
4657693

Test 31

Group: 2

Verdict:

input
200000
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 ...

correct output
1652889357

user output
(empty)