서로 다른 케이크 조각 M개를 골라 원형으로 배열할 때, 가치 합에서 인접한 조각 색 차이의 합을 뺀 값이 최대가 되도록 한다.
어려움8동적 계획법그래프그리디정렬아직 제출이 없습니다시간 제한4초메모리 제한256 MB오늘은 IOI양의 생일이다. 이 날을 위해 JOI군은 생일 케이크를 예약했다. 원형 케이크 하나를 통채로 예약할 생각이었지만 착오가 있어서 N조각의 케이크를 예약해 버렸다. 각 조각에는 1번 부터 N번까지 번호가 붙어 있고, i 번째 (1≤i≤N) 조각의 가치는 V_i이고, 색의 짙음은 C_i이다.
JOI군은 서로 다른 M개의 케이크를 골라, 원하는 순서대로 배열해 합쳐서 원형 케이크를 만들기로 결심했다. 케이크 조각들이 k_1번, ⋯, k_M번 조각의 순서로 나열되어 있을 때, 이 케이크의 아름다움은
∑_j=1MV_k_j−∑_j=1MC_k_j−C_k_j+1
으로 정의된다. (단, k_M+1=k_1 이다.) 즉, 아름다움은 사용된 케이크 조각의 가치의 합으로 부터 인접한 두 케이크의 색의 짙음에 차의 절댓값의 합계로 정의된다. JOI군은 되도록이면 원형 케이크의 가치의 합을 최대로 하고싶다.
케이크 조각의 갯수, 각 케이크 조각의 가치와 색의 짙음, 원형 케이크를 만들기 위해 필요한 조각의 갯수가 주어졌을 때, JOI군이 만들 수 있는 원형 케이크의 아름다움의 최댓값을 구하는 프로그램을 작성하여라.
표준 입력에서 다음과 같은 형식으로 주어진다. 모든 값은 정수이다.
N M
V_1 C_1
⋮
V_N C_N
표준 출력으로 한 개의 줄에 하나의 수를 출력하여라. 이는 JOI군이 만들 수 있는 원형 케이크의 아름다움의 최댓값이다.