#10000216. 【NOIP 2017 普及组】跳房子(jump)

内存限制:256 MiB 时间限制:1000 ms 标准输入输出
题目类型:传统 评测方式:无测试数据
上传者: Holmium_Oxide

题目描述

一.题目概况

中文题目名称 图书管理员
英文题目与子目录名
可执行文件名
输入文件名
输出文件名
每个测试点时限  秒
测试点数目
每个测试点分值
附加样例文件
结果比较方式 全文比较(过滤行末空格及文末回车)
题目类型 传统
运行内存上限

二.提交源程序文件名

对于 C++ 语言
对于 C 语言
对于 pascal 语言

4. 跳房子

【问题描述】

跳房子,也叫跳飞机,是一种世界性的儿童游戏,也是中国民间传统的体育游戏之一。跳房子的游戏规则如下:

在地面上确定一个起点,然后在起点右侧画 个格子,这些格子都在同一条直线上。每个格子内有一个数字(整数),表示到达这个格子能得到的分数。玩家第一次从起点开始向右跳, 跳到起点右侧的一个格子内。第二次再从当前位置继续向右跳,依此类推。规则规定:玩家每次都必须跳到当前位置右侧的一个格子内。玩家可以在任意时刻结束游戏,获得的分数为曾经到达过的格子中的数字之和。

现在小 R 研发了一款弹跳机器人来参加这个游戏。但是 这个 机器人有一个非常严重的缺陷,它每次向右弹跳的距离只能为固定的 。小 R 希望改进他的机器人,如果他花 个金币改进他的机器人,那么他的机器人灵活性就能增加 但是需要注意的是,每次弹跳的距离至少为 。 具体而言当 时, 他的机器人每次可以选择 向右弹跳的距离为 ;否则(当 时),他的机器人每次可以选择向右弹跳的距离为

现在小 R 希望获得至少 分,请问他至少要花多少金币来改造他的机器人。

输入格式

【输入格式】

输入文件名为 jump.in

第一行三个正整数 n,d,k 分别表示 格子的数目, 改进前机器人 弹跳的固定距离以及希望至少获得的分数。 相邻两个数之间用一个空格隔开。

接下来 行,每行两个正整数 ,分别表示起点到第 个格子的距离以及第 个格子的分数。 两个数之间用一个空格隔开。 保证 按递增顺序输入。

输出格式

【输出格式】

输出文件名为 jump.out

共一行,一个整数,表示至少要花多少金币来改造他的机器人。若无论如何他都无法获得至少 分,输出

样例

【输入输出样例 1】

jump.in jump.out
7 4 10
2 6
5 -3
10 3
11 -3
13 1
17 6
20 2
2








见选手目录下的 jump/jump1.injump/jump1.ans

【输入输出样例 1 说明】

花费 个金币改进后, 小 R 的机器人 依次选择的向右弹跳的距离分别为 ,先后到达的位置分别为 ,对应 个格子 。这些格子中的数字之和 即为 小 R 获得的分数 。

【输入输出样例 2】

jump.in jump.out
7 4 20
2 6
5 -3
10 3
11 -3
13 1
17 6
20 2
-1








见选手目录下的 jump/jump2.injump/jump2.ans

【输入输出样例 2 说明】

由于 样例中 个格子 组合的 最大可能数字之和只有 ,无论如何都无法获得 分。

【输入输出样例 3】

见选手目录下的 jump/jump3.injump/jump3.ans

数据范围与提示

【数据规模与约定】

本题共 组测试数据,每组数据 分。对于全部的数据满足

对于第 组测试数据,

对于第 组测试数据,

对于第 组测试数据,