CF505C.Mr. Kitayuta, the Treasure Hunter
普及+/提高
通过率:0%
时间限制:1.00s
内存限制:256MB
AC君温馨提醒
该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。
题目描述
The Shuseki Islands are an archipelago of 30001 small islands in the Yutampo Sea. The islands are evenly spaced along a line, numbered from 0 to 30000 from the west to the east. These islands are known to contain many treasures. There are n gems in the Shuseki Islands in total, and the i-th gem is located on island p__i.
Mr. Kitayuta has just arrived at island 0. With his great jumping ability, he will repeatedly perform jumps between islands to the east according to the following process:
- First, he will jump from island 0 to island d.
- After that, he will continue jumping according to the following rule. Let l be the length of the previous jump, that is, if his previous jump was from island prev to island cur, let l = cur - prev. He will perform a jump of length l - 1, l or l + 1 to the east. That is, he will jump to island (cur + l - 1), (cur + l) or (cur + l + 1) (if they exist). The length of a jump must be positive, that is, he cannot perform a jump of length 0 when l = 1. If there is no valid destination, he will stop jumping.
Mr. Kitayuta will collect the gems on the islands visited during the process. Find the maximum number of gems that he can collect.
Shuseki 群岛是位于 Yutampo 海上的由 30001 座小岛组成的群岛。这些岛屿沿一条直线均匀分布,从西到东依次编号为 0 至 30000。据传,这些岛屿上藏有大量宝藏。Shuseki 群岛上共有 n 颗宝石,其中第 i 颗宝石位于岛屿 pi 上。
北田先生刚刚抵达岛屿 0。凭借其卓越的跳跃能力,他将反复向东在岛屿之间跳跃,跳跃过程遵循如下规则:
- 首先,他从岛屿 0 跳至岛屿 d;
- 此后,他继续按以下规则跳跃:设 l 为上一次跳跃的长度,即若上一次跳跃是从岛屿 prev 到岛屿 cur,则令 l=cur−prev。接下来,他将向东跳跃长度为 l−1、l 或 l+1 的距离。换言之,他将跳至岛屿 cur+l−1、cur+l 或 cur+l+1(若该岛屿存在)。每次跳跃的长度必须为正整数,即当 l=1 时,他不能执行长度为 0 的跳跃。若不存在合法的落点,他将停止跳跃。
北田先生将在整个跳跃过程中收集所经过岛屿上的所有宝石。求他最多能收集多少颗宝石。
输入格式
The first line of the input contains two space-separated integers n and d (1 ≤ n, d ≤ 30000), denoting the number of the gems in the Shuseki Islands and the length of the Mr. Kitayuta's first jump, respectively.
The next n lines describe the location of the gems. The i-th of them (1 ≤ i ≤ n) contains a integer p__i (d ≤ _p_1 ≤ _p_2 ≤ ... ≤ p__n ≤ 30000), denoting the number of the island that contains the i-th gem.
输入的第一行包含两个以空格分隔的整数 n 和 d(1 ≤ n, d ≤ 30000),分别表示珠洲诸岛上的宝石数量以及北田先生第一次跳跃的长度。
接下来的 n 行描述了各宝石的位置。其中第 i 行(1 ≤ i ≤ n)包含一个整数 pi(满足 d ≤ p1 ≤ p2 ≤ … ≤ pn ≤ 30000),表示第 i 颗宝石所在的岛屿编号。
输出格式
Print the maximum number of gems that Mr. Kitayuta can collect.
输出岛谷先生能够收集到的宝石的最大数量。
说明/提示
In the first sample, the optimal route is 0 → 10 (+1 gem) → 19 → 27 (+2 gems) → ...
In the second sample, the optimal route is 0 → 8 → 15 → 21 → 28 (+1 gem) → 36 (+1 gem) → 45 (+1 gem) → 55 (+1 gem) → 66 (+1 gem) → 78 (+1 gem) → ...
In the third sample, the optimal route is 0 → 7 → 13 → 18 (+1 gem) → 24 (+2 gems) → 30 (+1 gem) → ...
在第一个样例中,最优路径为 0→10(+1 颗宝石)→19→27(+2 颗宝石)→…
在第二个样例中,最优路径为 0→8→15→21→28(+1 颗宝石)→36(+1 颗宝石)→45(+1 颗宝石)→55(+1 颗宝石)→66(+1 颗宝石)→78(+1 颗宝石)→…
在第三个样例中,最优路径为 0→7→13→18(+1 颗宝石)→24(+2 颗宝石)→30(+1 颗宝石)→…
输入解题思路,AI测评打分。不知道怎么写?