#2004. interv

interv

题目描述

给定实直线L\red{L}n\red{n}个开区间组成的集合I\red{I,}和一个正整数k\red{k,}试设计一个算法,从开区 间集合I\red{I}中选取出开区间集合SI\red{S \subseteq I,}使得在实直线L\red{L}的任何一点x\red{x,}S\red{S}中包含点x\red{x}的开区间 个数不超过k\red{k,}zsz\red{\sum_{z\in s}^{}{|z|}}达到最大。这样的集合s\red{s}称为开区间集合I\red{I}的最长k\red{k}可重区间集。 zsz\red{\sum_{z\in s}^{}{|z|}}称为最长k\red{k}可重区间集的长度。

对于给定的开区间集合I\red{I}和正整数k\red{k,}计算开区间集合I\red{I}的最长k\red{k}可重区间集的长度。

输入格式

输入数据。文件的第1\red{1}行有2\red{2}个正整数n\red{n}k,\red{k,}分别表示开区间的 个数和开区间的可重迭数。接下来的n\red{n}行,每行有2\red{2}个整数,表示开区间的左右端点坐标。

输出格式

程序运行结束时,将计算出的最长k\red{k}可重区间集的长度输出

样例

输入样例

4 2
1 7
6 8
7 10
9 13

输出样例

15

提示

n<=5000<a,b<=105\red{n<=500 0<a,b<=10^5}