#L5468. 「eJOI2025」度假
「eJOI2025」度假
#5468. 「eJOI2025」度假
题目描述
题目译自 Vacation
Anton 和他的朋友们正计划一起去度假。他们已经选好了地点;然而,日期却难以达成一致。
所有 位朋友都提前提交了他们计划休假的日子。朋友 最初安排的休假时间是从第 天到第 天(包含首尾)。为了最大化他们能共同度过的时间,每位朋友都可以通过提前或推迟来调整自己的休假时间。具体来说,第 位朋友可以选择一个整数 ,并将他们的休假时间调整到区间 。 为正数表示比原计划晚休假,为负数表示提早,而 表示保持原计划。
朋友们知道,他们的调整会给老板带来不便。因此,他们调整休假日的总移动量不能超过某个整数 。形式上,他们必须满足 。
请帮助朋友们计算出,在他们优化安排日程后,所有人能共同度假的最长天数是多少。
实现细节
您应该实现 plan_vacation 函数:
int plan_vacation(int N, std::vector<int> L, std::vector<int> R, long long K)
- :朋友的数量
- :一个包含 个正整数的向量,其中每个元素表示该朋友最初安排的休假第一天;
- :一个包含 个正整数的向量,其中每个元素表示该朋友最初安排的休假最后一天;
- : 的最大允许值。
该函数对于每个测试将被调用一次。它必须返回所有朋友能共同度假的最大天数,如果完全不可能共同度假,则返回 。
输入格式
第一行包含两个整数: 和 的值。
第 行到第 行:每行包含两个整数—— 和 。
输出格式
第一行包含一个整数:该调用的返回值。
样例
考虑以下调用:
plan_vacation(3, {1, 5, 2}, {3, 9, 5}, 3)
朋友们请求的休假区间如下:, , 。因此,朋友 可以将他们的休假推迟 天,朋友 将他们的休假提前 天,得到休假区间 , , 。这样,所有朋友在第 天和第 天都有空,共同的休假时间为 天。可以证明,在 的限制下,他们无法得到更好的结果。因此,函数应返回 。
数据范围与提示
对于所有输入数据,满足:
| 子任务 | 分值 | 子任务依赖 | 附加限制 |
|---|---|---|---|
| 0 | - | 样例。 | |
| 1 | |||
| 2 | 1 | ||
| 3 | - | ||
| 4 | 0 | , , | |
| 5 | |||
| 6 | 0, 4, 5 | ||
| 7 | 0 - 6 | - |