만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

무지개 너머 어딘가

시간 제한2초메모리 제한512 MB

요약
n개 위치마다 높이 하한이 주어질 때, 양 끝이 0인 볼록한 정수 수열의 최소 합을 998244353으로 나눈 나머지로 구합니다.
난이도

어려움10점 중 9점

유형
동적 계획법, 수학, 그리디
정답자
아직 제출이 없습니다

문제

시간 제한: 2000 ms. 메모리 제한: 512 MB.

무지개를 그리고 싶다. 무지개는 정수 높이로 이루어진 수열 a0,a1,…,ama_0, a_1, \ldots, a_m으로 나타낼 수 있으며, 다음 조건을 만족해야 한다.

  • a0=am=0a_0 = a_m = 0 (무지개 양 끝의 높이는 지평선 위 0미터이다)
  • 모든 0<i<m0 < i < m에 대해 2ai>ai−1+ai+12a_i > a_{i-1} + a_{i+1}이다 (무지개는 볼록하다)
  • nn개의 쌍 (xi,yi)(x_i, y_i)에 대해 axi≥yia_{x_i} \ge y_i이다.

무지개가 차지하는 공간을 최소로 하고 싶다. ∑ai\sum a_i의 최솟값을 구하라. 값이 매우 클 수 있으므로 998244353으로 나눈 나머지를 출력한다.

입력

첫 줄에 양의 정수 nn과 mm (1≤n≤2⋅1051 \le n \le 2 \cdot 10^5, 1≤m≤1091 \le m \le 10^9)이 주어진다. nn은 제약 조건의 개수, mm은 수열의 길이다.

이어지는 nn개의 줄마다 정수 xix_i (1≤xi≤m−11 \le x_i \le m - 1)와 yiy_i (1≤yi≤10181 \le y_i \le 10^{18})가 주어지며, 이는 axi≥yia_{x_i} \ge y_i 조건을 뜻한다.

x1<x2<…<xnx_1 < x_2 < \ldots < x_n이 보장된다.

출력

정수 하나를 출력한다. ∑ai\sum a_i의 최솟값을 998244353으로 나눈 나머지이다.

힌트

입력 예시에서 최적의 높이 수열 중 하나는 (0,100,82,63,43,22,0)(0, 100, 82, 63, 43, 22, 0)이다.

예제1

  1. 예제 1

    입력
    3 6
    1 100
    4 42
    5 22
    
    예상 출력
    310