总时间限制:
1000ms
内存限制:
65536kB
描述
Given a sequence of N number and K. Find the nearest number X in the sequence that the absolute value of (X minus K) is minimum.
输入
First line: two positive integers N (N <= 100) and K (K <= 100000).
Second line: N positive integers (<= 100000).
输出
One integer X.
样例输入
4 5 2 4 7 8
样例输出
4
#include<bits/stdc++.h>//Writed by Wangzhimin Date:2022.06.06
using namespace std;
int a[105],num,t=1;
int main()
{
int m;
scanf("%d%d",&num,&m);
for(int i=1;i<=num;i++)
scanf("%d",&a[i]);
a[0]=0;//防比第一个数小
a[num+1]=100009;//防最大的一个
sort(a,a+num+2);//排序
for(int i=1;i<=num;i++)
{
if(a[i]<=m&&m>a[i+1])//比这个数大,比下个数小
{
if(m-a[i]>a[i+1]-m)
cout<<a[i+1];
else
cout<<a[i];
break;
}
}
return 0;
}