Pagini recente » Cod sursa (job #691349) | Cod sursa (job #3242944) | Cod sursa (job #1793835) | Cod sursa (job #521497) | Cod sursa (job #2968689)
#include <fstream>
#include <algorithm>
using namespace std;
int v[300005], v2[300005],sol[300005];
int main()
{
ifstream cin("partitie.in");
ofstream cout("partitie.out");
int n,d,cnt=0,cntt=1,ultimul=0;
cin>>n>>d;
for(int i=0; i<n; i++)
cin>>v[i], v2[i]=v[i];
sort(v,v+n);
for(int i=0; i<n; i++)
{
if(sol[i]==0)
sol[i]=cntt++;
for(int j=i+1; j<n; j++)
{
if(v[j]-d>=v[i] && sol[j]==0)
{
sol[j]=sol[i];
break;
}
}
}
cout<<cntt-1<<'\n';
for(int i=0; i<n; i++)
{
for(int j=0; j<n; j++)
{
if(v2[i]==v[j])
cout<<sol[j]<<'\n';
}
}
return 0;
}