USACO银牌题目 CF863B Kayaking (排序, 枚举, 暴力,DFS) 样例代码1
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin>>n;
n=n*2;
int a[n],b[n];
for(int i=0;i<n;i++){
cin>>a[i];
}
sort(a,a+n);
int ans=1e5;
for(int i=0;i<n;i++){
for(int j=0;j<n;j++){
if(i!=j){
int l=0;
for(int k=0;k<n;k++){
if(k!=i && k!=j){
b[l]=a[k];
l++;
}
}
int sum=0;
//cout<<i<<" "<<j<<" "<<sum<<endl;
for(int k=0;k<n-2;k=k+2){
sum+=b[k+1]-b[k];
}
if(sum<ans){
ans=sum;
}
}
}
}
cout<<ans<<endl;
return 0;
}