337APuzzles
dangerous
1 /*大水题目。不解释 2 给你m个数,从中选出n个,保证最大值和最小值的差值最小, 3 做法:从小到大排序,然后暴力枚举每个长度是n的序列*/ 4 #include<stdio.h> 5 #include<string.h> 6 #include<algorithm> 7 using namespace std; 8 int main() 9 { 10 int i,j,n,m,k; 11 int a[110]; 12 while(scanf("%d%d",&n,&m)!=EOF) 13 { 14 int min=0x3f3f3f3f; 15 for(i=1;i<=m;i++) 16 scanf("%d",&a[i]); 17 sort(a+1,a+1+m); 18 for(i=1;i<=m;i++) 19 for(j=1;j<=m;j++) 20 { 21 if(j-i+1==n && a[j]-a[i]<min) 22 { 23 min=a[j]-a[i]; 24 } 25 } 26 printf("%d\n",min); 27 } 28 return 0; 29 }