데이트 약속

시간 제한0.5초메모리 제한1024 MB

요약
데이트하는 날을 정한다. 길이 L인 연속 구간은 L(L+1)/2의 애정을 주고, 고른 날이 저주 걸린 날이면 Y_j만큼 깎일 때 얻을 수 있는 최대 애정을 구한다.
난이도

보통10점 중 7점

유형
동적 계획법, 분할 정복, 수학
정답자
아직 제출이 없습니다

문제

커플이 된 록금이는 NN일간의 데이트 약속을 잡기로 했다!

록금이 커플은 연속으로 데이트할수록 하루에 얻을 수 있는 애정이 점점 늘어난다. 구체적으로 연속 11일차에는 11, 연속 22일차에는 22, ⋯\cdots, 연속 ii일차에는 ii만큼의 애정을 얻을 수 있다. 즉 33일 연속으로 데이트한다면 1+2+3=61 + 2 + 3 = 6의 애정을 얻는다.

솔로였던 쿠민이는 커플이 된 록금이가 보기 싫었다. 그래서 쿠민이는 X_1,X_2,⋯ ,X_MX\_1, X\_2, \cdots, X\_M일에 저주를 걸어, 록금이 커플이 X_jX\_j일차에 데이트한다면 록금이 커플의 애정이 Y_jY\_j만큼 깎이도록 만들었다. 저주 걸린 날에 데이트하더라도 연속 ii일차에 ii만큼의 애정을 얻을 수 있다는 사실에는 변함이 없다. 안타깝게도, 저주로 인해 특정 날짜까지의 누적 애정 총합이 음수가 될 수 있다.

쿠민이의 괘씸한 계획을 알게 된 록금이는 애정을 최대로 얻기 위한 데이트 약속을 다시 잡기로 했다. 록금이를 도와 NN일간의 데이트를 끝마쳤을 때, 록금이 커플이 최대로 얻을 수 있는 애정의 총합을 구해보자.

입력

첫째 줄에 데이트 일정을 짤 날짜의 수 NN, 저주에 걸린 날짜의 수 MM이 공백으로 구분되어 주어진다.

둘째 줄부터 MM개의 줄에 걸쳐, j+1j+1번째 줄에 저주에 걸린 날짜 X_jX\_j, 깎이는 애정량 Y_jY\_j가 공백으로 구분되어 주어진다.

(X_j, Y_j)(X\_j,\ Y\_j)는 X_jX\_j에 대해 오름차순으로 주어지며, 모든 X_jX\_j는 서로 다르다.

출력

록금이 커플이 최대로 얻을 수 있는 애정의 총합을 출력한다.

제한

  • 1≤N≤400,0001 \leq N \leq 400\\,000
  • 0≤M≤min⁡(4,000,N)0 \leq M \leq \min(4\\,000, N)
  • 1≤X_j≤N1 \leq X\_j \leq N (1≤j≤M)(1 \leq j \leq M)
  • 1≤Y_j≤1091 \leq Y\_j \leq 10^9 (1≤j≤M)(1 \leq j \leq M)

입력으로 주어지는 수는 모두 정수이다.

예제5

  1. 예제 1

    입력
    3 1
    2 2
    
    예상 출력
    4
    
  2. 예제 2

    입력
    3 2
    2 2
    3 2
    
    예상 출력
    2
    
  3. 예제 3

    입력
    10 3
    2 1
    3 10
    7 10
    
    예상 출력
    34
    
  4. 예제 4

    입력
    10 10
    1 1
    2 2
    3 3
    4 4
    5 4
    6 6
    7 7
    8 8
    9 9
    10 10
    
    예상 출력
    1
    
  5. 예제 5

    입력
    720 4
    118 1110
    313 704
    411 525
    621 6894
    
    예상 출력
    250327