Cerința
n
elevi numerotați de la 1
la n
stau în cerc, astfel încât elevul 1
și elevul n
sunt vecini. Pentru fiecare elev se cunoaște înălțimea. O pereche de elevi învecinați este pereche potrivită dacă diferența dintre înălțimile elevilor este minimă. Determinați o pereche potrivită.
Date de intrare
Programul citește de la tastatură numărul n
, iar apoi n
înălțimi ale elevilor, în ordine.
Date de ieșire
Programul va afișa pe ecran numerele de ordine i j
, separate prin exact un spatiu, a elevilor care formează o pereche potrivită.
Restricții și precizări
2 ≤ n ≤ 1000
- cele
n
numere citite vor fi mai mici decât1.000
- dacă există mai multe perechi potrivite, se poate afișa oricare
Exemplu
Intrare
5 4 6 3 5 3
Ieșire
1 5
#include <bits/stdc++.h> using namespace std; int main() { int a[1002]; int n; cin >> n; for(int i = 0 ; i < n ; ++i) cin >> a[i]; a[n]=a[0]; n++; int st = 0 , dr = 0 , min=1001; for(int i = 1 ; i < n ; ++i) { if(a[i]>a[i-1]) { if(a[i]-a[i-1] < min) min = a[i]-a[i-1] , st = i-1 , dr = i; } else { if(a[i-1]-a[i] < min) min = a[i-1]-a[i] , st = i-1 , dr = i; } } if(dr==n-1) st = 0 , dr = n-2; cout << st + 1 << ' ' << dr + 1; return 0; }