P9064 [yLOI2023] 苦竹林
Algo_Sl_al · · 题解
题目传送门
题意简述
在
思路简述
我们要让最大数与最小数的差尽可能小就要使得这些数尽量接近,容易想到使用排序然后枚举每一个
这样,我们就可以写出代码:
代码
#include<bits/stdc++.h>
using namespace std;
int a[100005];
int main(){
int n,m,ans=INT_MAX;//ans要赋值为一个极大的数,这里的INT_MAX就是int的最大值
cin>>n>>m;
for(int i=1;i<=n;i++)cin>>a[i];
sort(a+1,a+n+1);//排序
for(int i=1;i<=n-m+1;i++){
ans=min(ans,a[i+m-1]-a[i]);//打擂台求最小值
}
cout<<ans;
}
AC记录