아이템 2
시간 제한2초메모리 제한1024 MB
N개의 값과 집게 길이 K가 주어질 때 집을 수 있는 값의 최대 합을 구합니다. 가운데에서 집히는 연속 구간은 길이가 K 이상이어야 하며, 양 끝에 닿은 구간은 예외입니다.
문제
좌우로 무한히 긴 수직선 위에 개의 아이템이 떨어져 있다. 번째 아이템은 위치 에 있으며, 가치는 이다.
주원이에게는 길이가 인 집게가 있다. 주원이가 정수 좌표 ()를 지정하면, 집게는 부터 까지의 범위에 있는 아이템을 모두 줍는다. 주운 아이템은 그 자리에서 사라지며, 다시 내려놓을 수 없다. 주원이는 집게를 원하는 만큼 사용해 주운 아이템 가치의 합을 최대로 만들고자 한다.
주원이가 주운 아이템 가치의 합으로 가능한 값 중 최댓값을 구하여라. 집게를 한 번도 쓰지 않을 수도 있으며, 이때 주운 아이템의 총 가치는 0이다.
입력
첫째 줄에 아이템의 개수 과 집게의 길이 가 주어진다.
둘째 줄에 아이템의 가치 이 차례대로 공백으로 구분되어 주어진다.
출력
주운 아이템 가치의 합으로 가능한 값 중 최댓값을 출력한다.
제한
- 입력으로 주어지는 수는 모두 정수이다.
힌트
정답이 32비트 정수 범위를 벗어날 수 있으므로, C/C++에서는 long long 타입을, Java에서는 long 타입을 사용하는 것을 권장한다.