#H0015. Jiang学长的WF之路(十三)
Jiang学长的WF之路(十三)
题目背景
为了备战最终的 XCPC World Finals,Jiangrc 开启了“熬夜打怪”模式。但熬夜需要消耗大量体力,他必须在合适的时机喝下功能饮料。
题目描述
Jiangrc 计划在机房连续刷题 天。他初始有 点体力,每天刷题会固定消耗 1 点体力。 在这 天中,有 个补给站(分别在第 天),每个补给站有一瓶可以恢复 点体力的红牛。 Jiangrc 的体力是没有上限的。但他希望尽可能少地喝红牛,并且保证在到达第 天结束时,体力不能小于 0。请问他最少需要喝几瓶红牛?如果把所有红牛喝光都撑不到第 天,输出 -1。
输入格式
第一行包含三个整数 (, , )。 接下来 行,每行两个整数 和 (, ),表示第 天有一瓶恢复 点体力的红牛。(保证 互不相同,但不保证按顺序给出)
输出格式
输出一个整数,表示最少喝的瓶数,或 -1。
样例
10 4 3
2 4
5 2
7 1
8 5
3
样例解释
总距离 ,初始体力 。
- 出发时有 3 点体力,可以走到第 2 天的补给站(消耗 2 点),剩余体力 1。记录该站的红牛(恢复 4 点)。
- 从第 2 天走到第 5 天需要 3 点体力,但目前只有 1 点。因此必须喝掉之前记录的最大的一瓶红牛(恢复 4 点),此时体力变为 。走到第 5 天(消耗 3 点),剩余体力 2。记录该站红牛(恢复 2 点)。目前喝了 1 瓶。
- 从第 5 天走到第 7 天需要 2 点体力,刚好够走。剩余体力 0。记录红牛(恢复 1 点)。
- 从第 7 天走到第 8 天需要 1 点体力,体力不足(目前为 0)。反悔喝掉备选里最大的红牛(第 5 天的,恢复 2 点),体力变 2。走到第 8 天消耗 1 点,剩余体力 1。记录红牛(恢复 5 点)。目前喝了 2 瓶。
- 从第 8 天走到终点第 10 天需要 2 点体力,当前体力 1,不足。反悔喝掉最大的红牛(恢复 5 点),体力变 6。走到终点消耗 2 点,剩余 4 点,成功到达。目前喝了 3 瓶。 因此最少需要喝 3 瓶红牛。