#P10334. 饮料(Beverages)
0
饮料(Beverages)
饮料(Beverages)
题目描述
有一个果汁机,每分钟可以制作一杯任意体积的果汁。
有 个人排成一队。第 个人将在第 分钟走到果汁机前,并拿走当前已经制作的果汁中体积最大的一杯。第 个人拿到体积大于等于 的果汁就会满意。如果此时没有果汁,则第 个人也会不满意。
问是否能够让所有人满意。如果是,输出让所有人满意所需的果汁体积之和的最小值。
输入格式
第一行一个整数 ,表示队伍中人的数量。
接下来一行 个整数 ,其中 表示第 个人到果汁机前的时间。如果两个人的到达时间相同,则按题目给出的顺序从左到右决定先后。
接下来一行 个整数 ,其中 表示第 个人对果汁的体积要求。
输出格式
如果不能令所有人满意,输出 。
否则输出一行一个整数,表示所需的最小体积和。
样例输入 #1
5
1 3 4 6 6
3 8 2 7 4
样例输出 #1
24
样例输入 #2
5
1 3 4 5 5
3 8 2 7 4
样例输出 #2
26
数据范围
样例一解释如下:
| 时间 | 制作 | 取走 |
|---|---|---|
样例二解释如下:
| 时间 | 制作 | 取走 |
|---|---|---|
对于 的数据,,,。
知识点与难度
本题涉及的知识点从属于 CSP-S,难度(CF Rating):1800。
测试点分布
| Subtask | 分值 | 测试点编号 | 说明 |
|---|---|---|---|
| 0 | 10 | 1~2 | 样例 |
| 1 | 20 | 3~8 | 小规模 n≤20 / 边界 n=1 / 无解情况 t_i<i 输出-1 |
| 2 | 15 | 9~12 | Hack: 全员同一时刻到达 t_i=n / Hack: 答案超32位整数达2×10^14 / Hack: 最后一个位置差1分钟无解 |
| 3 | 30 | 13~20 | 大规模 n=2×10^5, t_i,a_i≤10^9 倒序单调栈压力测试 |
| 4 | 25 | 21~25 | 随机到达序列与需求体积回归测试 |
出处:原题链接