Учитывая N целых чисел и K, найдите минимальное количество элементов, которые должны быть удалены, чтобы Amax-Amin <= K. После удаления элементов Amax и Amin считаются одними из оставшихся элементов. Примеры: </p>
Входные данные: a [] = {1, 3, 4, 9, 10, 11, 12, 17, 20} k = 4 Выходные данные: 5 Объяснение: Удалить 1, 3, 4 из начала и 17, 20 от конца.
является ли этот код правильным ??
https://pastebin.com/viEhuH4V
#include<bits/stdc++.h>
using namespace std;
int main(){
int n,i,j,k;
cin>>n>>k;
int arr[n];
for(i=0;i<n;i++)cin>>arr[i];
sort(arr,arr+n);
for(i=0,j=n-1;i<n,i<j;){
if(arr[j]-arr[i]>k){
if(arr[j]-arr[i+1]<=k)
{i++;break; }
else if(arr[j-1]-arr[i]<=k)
{j--;break; }
i++;
j--;
}
else
break;
}
cout<<i+n-1-j<<endl;
}