0
已解决
汪艾辰
高级光能
高级光能
题目链接: 酷町堂:5167
5167 最值之差
经验值:1200 时间限制:1000毫秒 内存限制:128MB
题目描述 Deion
输入n个数,要使最大值与最小值之差小于等于d,最少应该删除几个数。
输入描述 Input Deion
第一行2个数,n和d表示一共n个数,最值之差最大为d
第二行n个数
输出描述 Output Deion
最少应该删除的数字的数量
样例输入 Sample Input
3 1 2 1 4
样例输出 Sample Output
1
数据范围及提示 Data Size & Hint
n∈[1,100],d∈[0,100],每个数∈[1,100]
我的代码;
#include<iostream>
#include<algorithm>
using namespace std;
int n,mn=-1,k;
int a[100005];
int main(){
cin>>n>>k;
for(int i=1;i<=n;i++){
cin>>a[i];
}
sort(a+1,a+1+n);
int l=1,r=n-k;
while(r<=n){
if(r-l<=k){
mn=max(mn,r-l);
}
l++;
r++;
}
cout<<mn;
return 0;
}