👤

#603 Vraja

Cerința
De-a lungul bulevardului sunt n arbori, numerotați de la 1 la n, pentru fiecare cunoscându-se înălțimea, exprimată în centimetri. Primarul dorește ca înălțimile arborilor să fie în ordine descrescătoare, și pentru aceasta apelează la vrăjitorul angajat al primăriei, care, pentru un anumit arbore poate să facă o vrajă astfel încât arborele să crească cu h centimetri. Determinați numărul minim de vrăji necesare ca înălțimile arborilor să fie în ordine descrescătoare.

Date de intrare
Programul citește de la tastatură numerele n h, iar apoi n numere naturale, reprezentând înălțimile arborilor.

Date de ieșire
Programul va afișa pe ecran numărul C, reprezentând numărul de vrăji necesare.

Restricții și precizări
1 ≤ n ≤ 1000
1 ≤ h ≤ 1000
înălțimile arborilor sunt numere naturale nenule mai mici decât 1.000.000



Exemplu
Intrare

4 2
2 3 3 4
Ieșire

4
Explicație
Pentru primul arbore trebuie două vrăji, iar pentru al doilea și al treilea trebuie câte o vrajă.



Răspuns :

#include <iostream>

using namespace std;

long long a[1001] , n , h , cnt;

int main()

{

   cin >> n >> h;

   for(int i = n ; i >= 1 ; --i)

       cin >> a[i];

   for(int i = 1 ; i <= n ; ++i)

   {

       if(a[i] < a[i - 1])

       {

           int c = (a[i - 1] - a[i]) / h;

           if((a[i - 1] - a[i]) % h != 0)

               c++;

           a[i] = a[i] + h * c;

           cnt = cnt + c;

       }

   }

   cout << cnt;

   return 0;

}

// 100 bro

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Nu ezitați să ne contactați pentru orice întrebare sau dacă aveți nevoie de asistență suplimentară. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!


ID Learners: Alte intrebari