336
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
nnumere 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;
}
Comentarii