CF1734A Select Three Sticks 题解
YH_Eternally · · 题解
题意
给你一堆木棍,每次选择一根棍子,然后增加或减少它的长度
求从
思路
将木棍从小到大排序,这样就保证了连续
代码
#include <bits/stdc++.h>
using namespace std;
int a[500], s[500], ans;
int main() {
int t, n;
scanf("%d", &t);
while(t --) {
ans = 0x3f3f3f3f;
memset(a, 0, sizeof(a));
scanf("%d", &n);
for(int i = 1; i <= n; i ++) scanf("%d", &a[i]);
sort(a + 1, a + n + 1);
for(int i = 2; i <= n - 1; i ++) {
s[i] = abs(a[i - 1] - a[i]) + abs(a[i + 1] - a[i]);//取差值
ans = min(ans, s[i]);//取最小值
}
cout << ans << endl;
}
return 0;
}