A21494.最长k可重区间集问题
省选/NOI-
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
给定实直线 L 上 n 个开区间组成的集合 I,和一个正整数 k,试设计一个算法,从开区间集合 I 中选取出开区间集合 S⊆I,使得在实直线 L 上的任意一点 x,S 中包含 x 的开区间个数不超过 k,且 ∑z∈S∣z∣ 达到最大(∣z∣ 表示开区间 z 的长度)。
这样的集合 S 称为开区间集合 I 的最长 k 可重区间集。∑z∈S∣z∣ 称为最长 k 可重区间集的长度。
对于给定的开区间集合 I 和正整数 k,计算开区间集合 I 的最长 k 可重区间集的长度。
输入格式
输入的第一行有 2 个正整数 n 和 k,分别表示开区间的个数和开区间的可重叠数。接下来的 n 行,每行有 2 个整数,表示开区间的左右端点坐标 l,r,数据保证 l<r。
输出格式
输出最长 k 可重区间集的长度。
输入输出样例
输入#1
4 2 1 7 6 8 7 10 9 13
输出#1
15
说明/提示
对于 100% 的数据,1≤n≤500,1≤k≤3,1≤l<r≤105。