-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathBOJ21921.js
31 lines (25 loc) · 888 Bytes
/
BOJ21921.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
// Solution 1
function solution(n, x, records) {
if (Math.max(...records) === 0) {
return 'SAD';
}
let numberOfVisitors = records.slice(0, x).reduce((acc, cur) => acc + cur, 0);
let maxNumberOfVisitors = numberOfVisitors;
let count = 1;
for (let i = x; i < n; i++) {
numberOfVisitors += records[i];
numberOfVisitors -= records[i - x];
if (numberOfVisitors > maxNumberOfVisitors) {
maxNumberOfVisitors = numberOfVisitors;
count = 1;
} else if (numberOfVisitors === maxNumberOfVisitors) {
count += 1;
}
}
return `${maxNumberOfVisitors}\n${count}`;
}
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [n, x] = input[0].split(' ').map((value) => parseInt(value));
const records = input[1].split(' ').map((value) => parseInt(value));
console.log(solution(n, x, records));