찬솔이는 블로그를 시작한 지 벌써 N일이 지났다.
요즘 바빠서 관리를 못 했다가 방문 기록을 봤더니 벌써 누적 방문 수가 6만을 넘었다.

찬솔이는 X일 동안 가장 많이 들어온 방문자 수와 그 기간들을 알고 싶다.
찬솔이를 대신해서 X일 동안 가장 많이 들어온 방문자 수와 기간이 몇 개 있는지 구해주자.
첫째 줄에 블로그를 시작하고 지난 일수 N와 X가 공백으로 구분되어 주어진다.
둘째 줄에는 블로그 시작 1일차부터 N일차까지 하루 방문자 수가 공백으로 구분되어 주어진다.
1 <= X <= N <= 250,000
0 <= 방문자 수 <=8,000
첫째 줄에 X일 동안 가장 많이 들어온 방문자 수를 출력한다. 만약 최대 방문자 수가 0명이라면 SAD를 출력한다.
만약 최대 방문자 수가 0명이 아닌 경우 둘째 줄에 기간이 몇 개 있는지 출력한다.
5 2
1 4 2 5 1
7
1
const fs = require('fs');
let [n, visitants] = fs.readFileSync(0, 'utf-8').toString().trim().split('\n');
let visitant = visitants.trim().split(' ').map(Number);
const N = Number(n.trim().split(' ')[0]);
const X = Number(n.trim().split(' ')[1]);
let max = 0;
let count = 0;
let sum = 0;
for (let i = 0; i < visitant.length; i++) {
if (i < X - 1) {
sum += visitant[i];
} else if (i === X - 1) {
sum += visitant[i];
max = sum;
count = 1;
} else {
sum += visitant[i];
sum -= visitant[i - X];
if (sum > max) {
max = sum;
count = 1;
} else if (sum === max) {
count++;
}
}
}
if (max === 0) {
console.log('SAD');
} else {
console.log(max);
console.log(count);
}
누적 합을 생각하긴 했는데 딱히 시간 초과가 날거라고 생각 못해서 간단하게 구현하려다가 시간초과 발생한 문제. 귀찮더라도 효율적인 방법이 떠오르면 효율적으로 풀자.. 실버 3인데 간단하게 구현하려고 한 내 문제인 듯하다...