CF1734A Select Three Sticks 题解
首先我们要明白关于本题一个性质:
对于
所以,我们只需将数列排序,并找到相邻的三个数使得第三个数减去第一个数的差最小即可。
放代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
int t; cin>>t;
while(t--){
int n,mn=INT_MAX; cin>>n;
vector<int> a(n);
for(auto &i:a)cin>>i;
sort(a.begin(),a.end());
for(int i=0;i<n-2;i++)
mn=min(mn,a[i+2]-a[i]);
cout<<mn<<endl;
}
return 0;
}