解题思路
4 是学生个数,6是拼图个数,要在6 个拼图中选出4个来并且使得最大值减去最小值得到的答案最小,,,,一开始我没看懂,去搜了题解,然后看不懂题解啊啊啊啊啊,,,问了学长。。呃呃呃呃我现在都没看懂题解,就按学长的思路来吧
先把它们按照从小到大排好序。。从6 个中选择4 个不就是 1234 2345 3456 这三种啊 然后让最小等于a[3]-a[0]
再来一个for循环就ok了
代码如下
#include<stdio.h>
#include<algorithm>
using namespace std;
int main()
{
int n,m,a[60],i,min,k;
scanf("%d%d",&n,&m);
for(i=0;i<m;i++)
scanf("%d",&a[i]);
sort(a,a+m);
min=a[n-1]-a[0];
for(i=1;i<=m-n;i++)
{
k=a[n-1+i]-a[i];
if(k<min)
min=k;
}
printf("%d\n",min);
return 0;
}