CSES - Datatähti 2024 alku - Results
Submission details
Task:Lumimyrsky
Sender:raikasdev
Submission time:2023-11-07 15:46:57 +0200
Language:Node.js
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED100
Test results
testverdicttime
#1ACCEPTED0.11 sdetails
#2ACCEPTED0.11 sdetails
#3ACCEPTED0.11 sdetails
#4ACCEPTED0.11 sdetails
#5ACCEPTED0.11 sdetails
#6ACCEPTED0.11 sdetails
#7ACCEPTED0.11 sdetails
#8ACCEPTED0.12 sdetails
#9ACCEPTED0.11 sdetails
#10ACCEPTED0.11 sdetails
#11ACCEPTED0.11 sdetails

Code

var readline = require("readline");
const INPUT_LINES = 2;

// Super Epic Input Tool For Testing :))))
// Fun fact to the moderators: I'm a professional Node.js developer (I have done it as a job and a freelancer, since I was 13!).
// Kinda sad you use such old Node.js version as 12, but suit yourself.

if (process.env.TEST !== "1") {
  let lines = [];
  const r = readline.createInterface({
    input: process.stdin,
    output: process.stdout,
    terminal: false,
  });
  r.on("line", (line) => {
    lines.push(line);
    if (lines.length === INPUT_LINES) {
      run(...lines);
      r.close();
    }
  });
} else {
  // This part of the program is used for input management while testing the code :)
  run(
    ...require("fs")
      .readFileSync(`${__filename.replace(".js", ".txt")}`)
      .toString()
      .split("\n")
  );
}

function run(...lines) {
  const route1 = lines[0].split(" ").map((v) => parseInt(v));
  const route2 = lines[1].split(" ").map((v) => parseInt(v));

  const r1Raise = route1.reduce(
    (acc, value, index) => acc + Math.max(0, value - (route1[index - 1] || 0)),
    0
  );
  const r2Raise = route2.reduce(
    (acc, value, index) => acc + Math.max(0, value - (route2[index - 1] || 0)),
    0
  );
  console.log(r1Raise < r2Raise ? "1" : "2");
}

Test details

Test 1

Verdict: ACCEPTED

input
0 0 1 1 1 2 2 2 1 0
0 1 2 3 2 2 3 0 1 1

correct output
1

user output
1

Test 2

Verdict: ACCEPTED

input
1 1 1 1 1 1 1 1 0 1
1 0 0 0 1 0 1 0 0 0

correct output
1

user output
1

Test 3

Verdict: ACCEPTED

input
1 2 2 2 0 0 0 2 0 0
0 1 0 1 1 2 1 2 1 2

correct output
1

user output
1

Test 4

Verdict: ACCEPTED

input
4 2 0 10 6 10 4 5 4 3
3 1 2 7 6 1 3 5 2 6

correct output
2

user output
2

Test 5

Verdict: ACCEPTED

input
6 0 7 9 3 1 5 6 9 4
9 0 1 0 2 2 0 1 4 7

correct output
2

user output
2

Test 6

Verdict: ACCEPTED

input
10 9 6 1 10 9 7 6 7 6
2 1 10 2 0 7 2 9 4 6

correct output
1

user output
1

Test 7

Verdict: ACCEPTED

input
22 5 87 83 20 36 92 98 49 9
61 40 77 35 52 49 29 100 18 81

correct output
1

user output
1

Test 8

Verdict: ACCEPTED

input
90 95 33 21 82 6 4 37 10 99
60 10 53 61 42 53 33 48 62 83

correct output
2

user output
2

Test 9

Verdict: ACCEPTED

input
7 22 78 32 44 98 73 46 98 31
54 26 50 8 7 42 27 1 50 53

correct output
2

user output
2

Test 10

Verdict: ACCEPTED

input
88 1 97 24 87 38 53 82 23 42
1 61 43 77 40 40 52 88 48 93

correct output
2

user output
2

Test 11

Verdict: ACCEPTED

input
1 36 50 50 50 0 13 31 14 1
22 88 42 13 25 13 8 39 34 49

correct output
1

user output
1