아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

최적의 우유 짜기

시간 제한1초메모리 제한128 MB

요약
매일 기계 하나의 생산량이 바뀐 뒤 이웃하지 않은 기계를 골라 그날 최대 우유량을 구하고 D일간 합산합니다.
난이도

보통10점 중 7점

유형
세그먼트 트리, 동적 계획법
정답자
아직 제출이 없습니다

문제

농부 John이 새로 산 헛간에는 착유기 NN대가 한 줄로 놓여 있다. 착유기에는 왼쪽부터 차례로 11번부터 NN번까지 번호가 붙어 있다.

ii번 착유기는 하루에 우유 M(i)M(i)단위를 짠다. 그런데 착유기를 너무 촘촘하게 설치한 탓에, 어느 날 ii번 착유기를 가동하면 그날은 바로 옆 착유기를 가동할 수 없다. 양 끝 착유기는 이웃이 하나뿐이다. 가동할 착유기 집합은 날마다 새로 고를 수 있다.

John은 DD일 동안 짤 수 있는 우유의 최대 총량을 알고 싶다. 매일 아침 John은 착유기 한 대를 정비할 시간이 있고, 그날부터 그 착유기의 하루 생산량 M(i)M(i)가 바뀐다. 날마다의 정비 내역이 주어질 때, DD일 동안 짤 수 있는 우유의 최대 총량을 구하라. 이 값은 32비트 정수 범위를 넘을 수 있다.

1≤N≤400001 \le N \le 40000, 1≤M(i)≤1000001 \le M(i) \le 100000, 1≤D≤500001 \le D \le 50000이다.

입력

첫째 줄에 NN과 DD가 주어진다.

이어지는 NN개 줄 가운데 ii번째 줄에는 M(i)M(i)의 초기값이 주어진다.

그다음 DD개 줄 가운데 dd번째 줄에는 정수 ii와 mm이 주어진다. dd일째 아침에 John이 M(i)M(i)를 mm으로 바꾼다는 뜻이다.

출력

첫째 줄에 DD일 동안 짤 수 있는 우유의 최대 총량을 출력한다.

힌트

착유기 5대의 초기 생산량이 차례로 1, 2, 3, 4, 5이고, 첫째 날 아침에 5번 착유기가 2로 바뀌는 경우를 보자.

첫째 날의 최댓값은 2+4=62 + 4 = 6이고, 1+3+21 + 3 + 2로도 6을 만든다. 이어서 2번 착유기가 7로 바뀌면 둘째 날은 7+4=117 + 4 = 11, 1번 착유기가 10으로 바뀌면 셋째 날은 10+3+2=1510 + 3 + 2 = 15이다.

예제1

  1. 예제 1

    입력
    5 3
    1
    2
    3
    4
    5
    5 2
    2 7
    1 10
    
    예상 출력
    32