CF1667A.Make it Increasing

普及/提高-

通过率:0%

AC君温馨提醒

该题目为【codeforces】题库的题目,您提交的代码将被提交至codeforces进行远程评测,并由ACGO抓取测评结果后进行展示。由于远程测评的测评机由其他平台提供,我们无法保证该服务的稳定性,若提交后无反应,请等待一段时间后再进行重试。

题目描述

You are given an array aa consisting of nn positive integers, and an array bb , with length nn . Initially bi=0b_i=0 for each 1in1 \leq i \leq n .

In one move you can choose an integer ii ( 1in1 \leq i \leq n ), and add aia_i to bib_i or subtract aia_i from bib_i . What is the minimum number of moves needed to make bb increasing (that is, every element is strictly greater than every element before it)?

输入格式

The first line contains a single integer nn ( 2n50002 \leq n \leq 5000 ).

The second line contains nn integers, a1a_1 , a2a_2 , ..., ana_n ( 1ai1091 \leq a_i \leq 10^9 ) — the elements of the array aa .

输出格式

Print a single integer, the minimum number of moves to make bb increasing.

输入输出样例

  • 输入#1

    5
    1 2 3 4 5

    输出#1

    4
  • 输入#2

    7
    1 2 1 2 1 2 1

    输出#2

    10
  • 输入#3

    8
    1 8 2 7 3 6 4 5

    输出#3

    16

说明/提示

Example 11 : you can subtract a1a_1 from b1b_1 , and add a3a_3 , a4a_4 , and a5a_5 to b3b_3 , b4b_4 , and b5b_5 respectively. The final array will be [ 1-1 , 00 , 33 , 44 , 55 ] after 44 moves.

Example 22 : you can reach [ 3-3 , 2-2 , 1-1 , 00 , 11 , 22 , 33 ] in 1010 moves.

首页