분탕의 신 아이보리 3
시간 제한1초메모리 제한1024 MB
|p1-p2| <= K인 위치 p1, p2를 골라 A[1..p1-1]과 A[p2+1..N]의 부호를 바꿀 때 수열 합의 최댓값과 그 위치를 구한다.
문제
나도리는 들판에서 뛰어놀며 가로 칸짜리 컨테이너를 가지고 놀고 있었다. 각 칸에는 가장 왼쪽에서 시작해 번부터 번까지의 번호가 붙어 있고, 번 칸 안에는 정수 가 적혀 있다.
이를 아니꼽게 본 아이보리가 두 번의 빔을 날려 컨테이너에 분탕을 치려고 한다. 나도리는 아래와 같은 과정을 통해 자신의 몸을 던져 빔을 막아내려고 한다.
- 나도리가 번 칸에 자리를 잡는다.
- 아이보리가 번 칸 왼쪽에서 번 칸을 향해 첫째 빔을 발사한다. 빔은 나도리한테 막혀서 번호가 보다 작은 모든 칸에 적힌 수에 을 곱한다.
- 나도리가 번 칸에 자리를 잡는다.
- 아이보리가 번 칸 오른쪽에서 번 칸을 향해 둘째 빔을 발사한다. 빔은 나도리한테 막혀서 번호가 보다 큰 모든 칸에 적힌 수에 을 곱한다.
오히려 기회라 생각한 나도리는 적절한 위치에서 빔을 막아 분탕 후 수열의 원소의 합을 최대로 만들고자 한다. 하지만 나도리는 배가 고파 첫 번째 빔을 막은 자리에서 최대 칸까지만 움직일 수 있다.
나도리를 위해 분탕 후 수열의 합을 최대로 하는 방법을 알려주자!
입력
첫 번째 줄에 컨테이너 칸의 개수 , 나도리가 움직일 수 있는 거리를 나타내는 정수 가 공백으로 구분되어 주어진다.
두 번째 줄에 개의 칸에 적힌 정수 이 공백으로 구분되어 주어진다.
출력
첫 번째 줄에 분탕 후 수열의 합의 최댓값을 출력한다.
두 번째 줄에 첫째 빔을 발사할 때 나도리의 위치한 칸의 번호 , 둘째 빔을 발사할 때 나도리의 위치 를 공백으로 구분하여 출력한다. 가능한 위치가 여러 가지라면 이 가장 작은 것을, 이 같은 것 중에서는 가 가장 작은 것을 출력한다.