Решение задачи №1215 «Ближайшее число» с ACMP





Решение задачи №1215 «Ближайшее число» с ACMP

Условие задачи

Требуется найти в массиве A[1..N] самый близкий по величине элемент к заданному числу X.

Входные данные
Первая строка входного файла INPUT.TXT содержит натуральное число N – количество элементов в массиве. Во второй строке записаны N целых чисел Ai, разделенные пробелом. Третья строка содержит число X. Все числа во входных данных не превосходят 1000 по абсолютной величине.

Выходные данные
В выходной файл OUTPUT.TXT выведите значение элемента массива, ближайшее к X. Если таких значений несколько, следует вывести наименьшее среди них.

#include <iostream>
#include <cmath>
using namespace std;
main()
{
int a[1001],n,i,x,k;
cin>>n;
for(i=0;i<n;i++)
cin>>a[i];
cin>>x;
k=a[0];

for(i=0;i<=n;i++)
if(abs(a[i]-x)<abs(k-x)||abs(a[i]-x)==abs(k-x)&&a[i]<k)
{
k=a[i];
}
cout<<k<<endl;
}



Условия задач взяты с сайта acmp.ru