以这样的方式转换数组,即下一个元素总是小于或等于当前元素

时间:2018-01-22 06:49:21

标签: c++ arrays

转换数组,使下一个元素始终小于或等于当前元素,或者当前元素是数组的最后一个元素,以最小步数。 形式上,如果a是一个数组而ai是数组的第i个元素,那么他需要转换数组,使得ai +1≤ai,1≤i≤N-1,最小值为1。步骤。

在每一步中,他都可以将任何数字的值更改为下一个整数或前一个整数,即他可以将数字递增或递减1.

输入:

输入的第一行包含单个整数N,即序列的长度。 下一行包含N个空格分隔的整数。

输出:

在一行中输出一个整数,即实现目标所需的最小步数。

这是我的代码

overflow : visible

只传递了7个测试用例

一个这样的失败的测试案例---

INPUT 20 ---- 10 6 1 9 10 10 7 0 10 5 9 1 5 7 4 9 3 9 7 2

预期输出 - 46

我的输出 ---- 40

0 个答案:

没有答案