捡金币
时间限制:1秒 内存限制:256M
【题目描述】
小H发明一款捡金币机器人,但该机器人只能朝一个方向跳越,且每次跳越的距离都不能比上次跳越的距离小。但为了快速收获金币,小H来不及修改了,立即让机器人投入捡金币的活动中。
在一条笔直的线路有 \(N (1≤N≤1000)\) 个不同位置的关键点,其中第 \(i\) 个关键点的坐标为 \(x_i\),且有 \(s_i\) 枚金币。机器人开始时可以选择站在任意关键点上,只允许朝一个方向跳跃,每次跳跃的距离至少和上一次跳跃的距离相等,并且必须跳到一个关键点上。每跳到一个关键点,机器人可以收获该点的全部金币,请你计算机器人最多可获得多少金币。
【输入格式】
第一行为整数 \(N\),表示关键点的个数。
接下来的 \(N\) 行,每行包含两个整数 \(x_i\) 和 \(s_i\),表示第i关键点的位置和金币数。
【输出格式】
输出一个整数,表示最多金币数。
【输入输出样例】
Input
6
6 60
2 10
11 50
8 60
5 80
9 100
Output
250
【样例说明】
路线上共有6个关键点,机器人从 (5,80) 开始跳越,依次跳到 (6,60) 、(8,60)、(11,50),获得金币数为 80+60+60+50=250,可以证明,这是能获得的最大金币数。
【数据限制】
对于100% 的数据满足:\(1≤N≤1000,0≤xi,si≤1,000,000\)。
【来源】
Mr.he