CF 34a
题意
给定一个首位相接的数字序列(环)
求两两之差的最小值
分析
没啥好分析的 直接O(n)过一遍就行,比较一下 abs
代码
#include <bits/stdc++.h>
using namespace std;
const int N = 110;
int s[N];
int main()
{
int n;
scanf("%d" , &n);
for(int i = 1 ; i <= n ; i++)
{
scanf("%d" , &s[i]);
}
s[n + 1] = s[1];
int minn = 1e9;
int pos;
for(int i = 1 ; i <= n ; i++)
{
if(abs(s[i + 1] - s[i]) < minn)
{
minn = abs(s[i + 1] - s[i]);
pos = i;
}
}
printf("%d %d" , pos , (pos == n ? 1 : pos + 1));
return 0;
}