AT_codefestival_2015_final_h 焼肉の達人
题目描述
A 先生是烤肉达人。
A 先生打算用 $N$ 块肉、长 $M$ 的细长网和炭来烤肉。肉 $i$ 的长度是 $L_i$。将网的一端坐标设为 $0$,另一端坐标设为 $M$。
最初,肉 $i$ 放在坐标 $S_i$ 的位置。也就是说,肉 $i$ 覆盖了从网的坐标 $S_i$ 到坐标 $S_i+L_i$ 的区间。A先生决定先拿去一些肉,然后在网下的木炭上点火。
烤肉的时候,肉重叠的部分会被烧焦。另外,不能吃烤前去除的肉
选择好去除的肉后,请求出未烧焦部分的长度和的最大值。换个意思来说,未烧焦部分的长度之和,正好和一张被肉覆盖的网区间的长度之和一样。
输入格式
格式如下
>$N$ $M$
>
>$S_1$ $L_1$
>
>$S_2$ $L_2$
>
>$……$
>
>$S_N$ $L_N$
第1行中输入两个整数 $N(1\le N\le 10^5)$,$M(1\le M\le 10^5)$。表 $N$ 块肉和网的长度 $M$。
接下来的 $N$ 行是肉的情况。其中,第 $i(1\le i\le N)$ 行输入两个整数 $S_i, L_i$,表示肉 $i$ 的初始坐标 $S_i$ 和肉 $i$ 的长度 $L_i$。
输出格式
输出只有一行,即未烧焦部分的长度之和的最大值。末尾要换行。
说明/提示
下图分别是最初排列肉时的样子,去除肉 $3$ 烤时的样子。用绿色框围起来的部分是未烧焦的部分
