#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ăspunsuri la întrebare
Răspuns de
0
#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
pmarian98:
mersi mult
Alte întrebări interesante
Alte limbi străine,
8 ani în urmă
Matematică,
8 ani în urmă
Franceza,
8 ani în urmă
Geografie,
9 ani în urmă