Pagini recente » Cod sursa (job #2533031) | Cod sursa (job #508072) | Cod sursa (job #1366140) | Cod sursa (job #664636) | Cod sursa (job #2968696)
#include <fstream>
#include <algorithm>
#pragma GCC ooptimize("O1")
#pragma GCC ooptimize("O2")
#pragma GCC ooptimize("O3")
#pragma GCC ooptimize("unroll-loops")
using namespace std;
int v[300005], v2[300005],sol[300005];
int main()
{
ifstream cin("partitie.in");
ofstream cout("partitie.out");
int n,d,cnt=1;
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]=cnt,cnt++;
for(int j=i+1; j<n; j++)
{
if(v[j]-d>=v[i] && sol[j]==0)
{
sol[j]=sol[i];
break;
}
}
}
cout<<cnt-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;
}