给出n个正整数,要求找出相邻两个数字中差的绝对值最小的一对数字,如果有差的绝对值相同的,则输出最前面的一对数
2<n<=100,正整数都在10^16范围内
要求:
输入:输入包含2行,第一行为n,第二行是n个用空格分隔的正整数
输出:输出包含一行两个正整数,要求按照原来的顺序输出
样例输入:
9
1 3 4 7 2 6 5 12 32
样例输出:
3 4
#include<iostream>
#include<math.h>
#include<vector>
using namespace std;
int main()
{
long long n = 0,pre = 0,cur = 0,min = 0;
vector<long long>v;
cin>>n;
v.resize(n);
for(int i = 0;i < n;i++)
{
cin>>v[i];
if(i == 1)
{
min = abs(v[i] - v[i-1);
pre = v[i-1];
cur = v[i];
}
else if(i > 1)
{
if(abs(v[i]-v[i-1]) < min)
{
min = abs(v[i] - v[i-1);
pre = v[i-1];
cur = v[i];
}
}
}
cout<<pre<<" "<<cur<<endl;
}