| 题目名称 | 4347. 跳跳虎 |
|---|---|
| 输入输出 | tiger.in/out |
| 难度等级 | ★★★ |
| 时间限制 | 1000 ms (1 s) |
| 内存限制 | 512 MiB |
| 测试数据 | 10 |
| 题目来源 |
|
| 开放分组 | 全部用户 |
| 提交状态 | |
| 分类标签 | |
| 分享题解 |
| 通过:1, 提交:1, 通过率:100% | ||||
|
|
100 | 0.214 s | 3.72 MiB | C++ |
| 本题关联比赛 | |||
| ry分享赛 | |||
| 关于 跳跳虎 的近10条评论(全部评论) |
|---|
这不是一道交互题
这里不需要你比较空集的大小
这里不需要你自己配置环境
选手不需要也不应该不实现main函数
你正在玩马里奥的当中一关
这个关卡的设计是这样的:给你$n$个石柱,编号为$1,2,...,n$,第$i$个石柱的高度为$dep_i$,而你通关的条件是从第$1$个石柱跳到第$2$个石柱,再跳到第$3$个石柱,一直到第$n$个石柱
你的老手柄有毛病,每次最多只能跳到高度差不超过$d$的石柱上,但是万幸的是,你可以做任意次操作,每次操作可以用$1$金币使你指定的石柱(不能为起点或者终点)的高度加$1$或者减$1$
你想要知道,最少可以用多少枚金币帮助你通关
注:开始跳之后就不能动高度了
每个测试点有$t$组数据
每组数据的第一行输入$n和d$
第二行输入$dep_1,dep_2,...,dep_n$
输出$t$行,即每组数据的最少金币数,如果不可能输出$impossible$
3 10 2 4 5 10 6 6 9 4 7 9 8 3 1 6 4 0 4 2 3 0 6 3
6 impossible 4
第一组:把原序列变成$4 5 7 6 6 8 6 7 9 8$为最优解
第二组:易得出无解
第三组:变成$3 1 3 3$为最优解
对于$30$%的数据,$n≤100$
对于$60$%的数据,$n≤1000$
对于$100$%的数据,$n≤5000,dep_i≤100000$