1 solutions

  • 0
    @ 2025-11-5 17:16:48

    C :

    #include<stdio.h>
    #include<string.h>
    long long a[2005];
    
    int main()
    
    {
        int n,d,i;
        while(~scanf("%d%d",&n,&d))
        {
            int sum = 0;
            memset(a,0,sizeof(a));
            for(i = 1;i <= n;i++)
            {
                scanf("%lld",&a[i]);
                if(a[i] > a[i - 1])
                    continue;
                else
                {
                    int t = a[i - 1] - a[i];
                    a[i] = (t / d + 1) * d + a[i];
                    sum += t / d + 1;
                }
            }
            printf("%d\n",sum);
        }
    }
    
    

    C++ :

    #include<cstdio>
    #include<cstdlib>
    #include<cstring>
    #include<cctype>
    #include<cmath>
    #include<algorithm>
    #include<iostream>
    #include<string>
    #include<vector>
    #include<bitset>
    #include<queue>
    #include<stack>
    #include<list>
    #include<map>
    #include<set>
    
    #define TEST
    
    #define LL long long
    #define Mt(f, x) memset(f, x, sizeof(f));
    #define rep(i, s, e) for(int i = (s); i <= (e); ++i)
    #ifdef TEST
        #define See(a) cout << #a << " = " << a << endl;
        #define See2(a, b) cout << #a << " = " << a << ' ' << #b << " = " << b << endl;
        #define debug(a, s, e) rep(_i, s, e) {cout << a[_i] << ' ';} cout << endl;
        #define debug2(a, s, e, ss, ee) rep(i_, s, e) {debug(a[i_], ss, ee)}
    #else
        #define See(a)
        #define See2(a, b)
        #define debug(a, s, e)
        #define debug2(a, s, e, ss, ee)
    #endif // TEST
    
    const int MAX = 2e9;
    const int MIN = -2e9;
    const double eps = 1e-8;
    const double PI = acos(-1.0);
    
    using namespace std;
    
    int a[2005];
    
    int main()
    {
        int n, d;
    //    freopen("in.txt", "r", stdin);
    //    freopen("out.txt", "w", stdout);
        while(~scanf("%d%d", &n, &d))
        {
            int ans = 0;
            for(int i = 0; i < n; ++i)
            {
                scanf("%d", &a[i]);
            }
            for(int i = 1; i < n; ++i)
            {
                if(a[i - 1] >= a[i])
                {
                    int t = (a[i - 1] - a[i]) / d + 1;
                    a[i] += t * d;
                    ans += t;
                }
            }
            printf("%d\n", ans);
        }
        return 0;
    }
    
    
    • 1

    Information

    ID
    18244
    Time
    1000ms
    Memory
    128MiB
    Difficulty
    (None)
    Tags
    # Submissions
    0
    Accepted
    0
    Uploaded By