Cerinţa
De-a lungul principalei străzi din orașul nostru există n
plopi, pentru fiecare cunoscându-se înălțimea. Primarul orașului dorește să știe care este diferența de înălțime maximă între doi plopi învecinați, și câte perechi de plopi învecinați au această diferență de înălțime.
Ajutați-l pe primar să afle răspunsul la întrebare.
Date de intrare
Programul citește de la tastatură numărul de plopi n
, iar apoi n
numere naturale nenule, separate prin spaţii, reprezentând înălțimile plopilor.
Date de ieşire
Programul afișează pe ecran numerele D
și nrp
, separate prin exact un spațiu, reprezentând diferența de înălțime maximă între doi plopi învecinați, și câte perechi de plopi învecinați au această diferență de înălțime.
Restricţii şi precizări
2 ≤ n ≤ 1000
- înălțimile plopilor vor fi mai mici decât
5000
Exemplu
Date de intrare
7 5 3 7 4 6 2 6
Date de ieșire
4 3
Explicație
S-au citit înălțimile a 7
plopi. Diferența maximă de înălțime este 4
, și sunt 3
perechi de plopi învecinați care au această diferență de înălțime, și anume cei cu înălțimile 3 7
, 6 2
și 2 6
.
#include <bits/stdc++.h> using namespace std; int main () { int n,max=0,cnt=0; cin >> n; int a[1002]; for (int i = 1 ; i <= n; ++i) { cin >> a[i]; a[0]=a[1]; if (a[i]-a[i-1] < 0) { if (a[i-1]-a[i]> max) max=a[i-1]-a[i]; } else { if (a[i]-a[i-1]>max) max=a[i]-a[i-1]; } } for (int i = 1 ; i <= n; ++i) { if (a[i]-a[i-1] < 0) { if (a[i-1]-a[i]== max) cnt++; } else { if (a[i]-a[i-1]==max) cnt++; } } cout << max << ' ' << cnt; }