#1182
Unrated
WTF
시간 제한
1s
메모리 제한
256MB
제출
0
정답
0
맞힌 사람
0
정답 비율
0.0%

문제

1 second, 256 MB, 160 points Assume you are given an array A of N integers, array ID of N +1 integers from the interval [1, N −1] and an integer R. We are doing a Warshall-Turing-Fourier transformation1 on array A in the following way: sum = 0 for i = 1 to N index = min{ ID[i], ID[i+1] } sum = sum + A[index] rotate array A to the right by R places change the signs of all elements in A for i = 1 to N index = max{ ID[i], ID[i+1] } index = index + 1 sum = sum + A[index] rotate array A to the right by R places You are given the array A and constant R, but you are not familiar with the array ID. What is the largest possible value of variable sum after execution of the above algorithm?

입력

The first line of input contains the integers N and R (2 ⩽N ⩽3 000, 1 ⩽R < N) from the task. The second line of input contains the elements of array A, respectively from A[1] to A[N]. These are integers from the interval [−104, 104].

출력

The first line of output must contain the maximal value of sum. The second line of output must contain the array ID of N + 1 integers from the interval [1, N - 1] for which the algorithm outputs the maximal sum. If there are multiple such arrays, output any. If only the first line is correct (regardless of whether the second is printed), you will get 50% of points for the corresponding test case.

예제 입력 1

5 3
1 -1 1 -1 1

예제 출력 1

10
1 1 1 2 2 3

예제 입력 2

6 5
2 5 4 1 3 5

예제 출력 2

16
3 2 1 1 5 4 1
코드 제출

코드를 제출하려면 로그인이 필요합니다.

로그인
내 제출
제출 내역이 없습니다.
맞은 사람
아직 맞은 사람이 없습니다.
난이도 투표
Unrated0명 투표
로그인 후 AC 받으면 투표할 수 있습니다.
전체 제출
제출 내역이 없습니다.