• cf 11A


    A. Increasing Sequence
    time limit per test
    1 second
    memory limit per test
    64 megabytes
    input
    standard input
    output
    standard output

    A sequence a0, a1, ..., at - 1 is called increasing if ai - 1 < ai for each i: 0 < i < t.

    You are given a sequence b0, b1, ..., bn - 1 and a positive integer d. In each move you may choose one element of the given sequence and add d to it. What is the least number of moves required to make the given sequence increasing?

    Input

    The first line of the input contains two integer numbers n and d (2 ≤ n ≤ 2000, 1 ≤ d ≤ 106). The second line contains space separated sequence b0, b1, ..., bn - 1 (1 ≤ bi ≤ 106).

    Output

    Output the minimal number of moves needed to make the sequence increasing.

    Sample test(s)
    input
    4 2
    1 3 3 2
    output
    3
    #include<iostream>
    #include<cstdio>
    #include<algorithm>
    using namespace std;
    int n,d,a[2010],ans;
    int main()
    {
          scanf("%d%d",&n,&d);
          for(int i=0;i<n;i++)
                scanf("%d",&a[i]);
          for(int i=0;i<n-1;i++)
          {
                if(a[i+1]<=a[i])
                {
                      ans+=(a[i]-a[i+1])/d+1;
                      a[i+1]+=((a[i]-a[i+1])/d+1)*d;
                }
          }
          printf("%d
    ",ans);
          return 0;
    }
    

      

  • 相关阅读:
    linux常用命令
    练习00004
    python学习第六天
    练习00003
    练习00002
    python学习第四天
    练习00001
    Linux_安装mysql踩坑日记
    Linux_更改远程登录端口以及禁止root用户登录
    redis_基础_基本使用
  • 原文地址:https://www.cnblogs.com/a972290869/p/4218968.html
Copyright © 2020-2023  润新知