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烤时的样子。用绿色框围起来的部分是未烧焦的部分 ![figure1](https://code-festival-2015-final.contest.atcoder.jp/img/other/code_festival_2015_final/final/yakitatsu.png)