#include<iostream>
#include<vector>
#include<algorithm>
#include<map>
using namespace std;
int main()
{
int n,m;
cin>>n>>m;
vector<int> vect;
map<int,int> mp;
for(int i=0;i<m;i++)
{
int x;
cin>>x;
mp[x]++;
vect.push_back(x);
}
sort(vect.begin(),vect.end());
int small=vect[n-1]-vect[0];
for(int i=0;i<vect.size()-n+1;i++)
{
int d=vect[i+n-1]-vect[i];
if(small>d)
small=d;
}
int flag=1;
for(auto k:mp)
{
if(k.second>=n)
{
cout<<"0";
flag=0;
break;
}
}
if(flag==1)
{
cout<<small;
}
return 0;
}
#include<iostream> #include<algorithm> using namespace std; int gcd(int m,int n) { if(max(m,n)%min(m,n)==0) { return min(m,n); } else { gcd(max(m,n)%min(m,n),min(m,n)); } } int main() { int m,n; cin>>m>>n; cout<<gcd(m,n); return 0; }
Comments
Post a Comment