Решение задачи Разведка 2 с Codeforces

Без пояснения   Просмотров: 28


По кругу стоят n солдат. Для каждого солдата известен его рост a i. Разведку нужно послать таких двух соседних солдат, которые меньше всего различаются по росту, то есть для которых |a i - a j| минимально. Так каждый из них будет наименее заметен на фоне другого. Выведите любую пару солдат, которых можно послать в разведку.


Код

#include <iostream>
#include <cmath>
using namespace std;
int main()
{
	int n,min=2000,t,p;
	cin>>n;
	int a[100];
	for(int i=0;i<n;i++){
		cin>>a[i];
	}
	for(int i=1;i<n;i++){
		if (abs(a[i]-a[i-1])<min){
			min=abs(a[i]-a[i-1]);
			t=i+1;
			p=i;
		}
	}
	if(abs(a[0]-a[n-1])<min){
		cout<<1<<" "<<n;
	}
	else{
		cout<<t<<" "<<p;
	}
	return 0;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться