Pagini recente » Cod sursa (job #1081092) | Cod sursa (job #321641) | Cod sursa (job #2492292) | Cod sursa (job #399097) | Cod sursa (job #1981492)
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f("partitie.in");
ofstream g("partitie.out");
int n,d,i,j,sol,v[1000000],p[1000000];
bool cmp(int x,int y)
{
return v[x]<v[y];
}
int main()
{
f>>n>>d;
for(i=1;i<=n;++i) f>>v[i],p[i]=i;
sort(p+1,p+n+1,cmp);
for(i=j=1;i<=n;++i)
{
while(j<=n&&v[p[i]]-v[p[j]]>=d) ++j;
sol=max(sol,i-j+1);
}
g<<sol<<'\n';
for(i=1;i<=n;++i) v[p[i]]=i%sol+1;
for(i=1;i<=n;++i) g<<v[i]<<'\n';
}