#L4873. 「PA 2025」Wieża

「PA 2025」Wieża

题目描述

你手头有 nn 个立方体积木,编号从 11nn。编号为 ii 的积木尺寸是 ai×ai×aia_{i} \times a_{i} \times a_{i},表面涂有图案 wiw_{i}(图案用整数标识)。

你的目标是用这些积木搭一座评分最高的塔。你可以挑选一些积木,从下到上平放叠成塔。假设选了 mm 个积木,编号为 j1,,jmj_{1}, \ldots, j_{m},从底部到顶部依次排列。塔的评分基于以下规则:

  1. 稳定性:塔要稳定,需保证每块积木比上方的积木大,即 ajx>ajx+1a_{j_{x}} > a_{j_{x+1}}。不稳定的塔评分直接为 00,其他规则不再考虑。
  2. 高度:塔高为 h=aj1++ajmh = a_{j_{1}} + \ldots + a_{j_{m}},评分增加 hh 分。
  3. 风格分:相邻积木图案不同(即 wjxwjx+1w_{j_{x}} \neq w_{j_{x+1}})会影响美观,每对这样的相邻积木扣除 cc 分。

输入格式

输入的第一行包含两个整数 nncc (1n,c5000001 \leq n, c \leq 500000),分别表示积木数量和相邻不同图案的扣分值。

接下来的 nn 行描述每个积木。第 ii 行包含两个整数 aia_{i}wiw_{i} (1ai,wi5000001 \leq a_{i}, w_{i} \leq 500000),分别表示积木的边长和图案编号。积木按边长非递减顺序给出,即 aiai+1a_{i} \leq a_{i+1}


输出格式

输出一个整数,表示用给定的积木能搭建出的最高评分塔的分数。


样例 1

输入

4 1
1 1
3 2
4 3
4 1

输出

6

样例 2

输入

4 5
1 1
3 2
4 3
4 1

输出

5

样例解释

图 1:两个样例中的四块积木相同,仅扣分值 cc 不同。第一个样例 c=1c=1,第二个样例 c=5c=5

图 2:第一个样例的最佳塔。高度 88,扣双倍罚分。评分计算为 821=68 - 2 \cdot 1 = 6。若 c=5c=5,这些塔评分较低,为 825=28 - 2 \cdot 5 = -2

图 3:第二个样例的最佳塔。高度 55,无扣分,因积木图案相同。评分为 50c=55 - 0 \cdot c = 5


数据范围与提示

对于 50%50\% 的数据,满足 ai<ai+1a_{i} < a_{i+1}