Pagini recente » Cod sursa (job #361458) | Cod sursa (job #723386) | Cod sursa (job #1240545) | Cod sursa (job #153578) | Cod sursa (job #124871)
Cod sursa(job #124871)
#include<stdio.h>
#define dim 2001
typedef struct
{
long long unsigned nr,poz,cf;
}bula;
bula a[dim];
long long unsigned n,m,i,j,k,kkt,s,mul;
int main()
{
freopen("partitie.in","r",stdin);
freopen("partitie.out","w",stdout);
scanf("%llu%llu",&n,&s);
for(i=1; i<=n; ++i)
scanf("%llu",&a[i].nr);
a[1].cf=a[1].nr;
a[1].poz=1;
m=1;
mul=0;
kkt=1;
while(kkt<n)
{
++mul;
for(i=2; i<=n; ++i)
{
k=0;
if(a[i].poz==0)
{
for(j=1; j<=m; ++j)
{
if(a[i].nr>a[j].cf && a[i].nr-a[j].cf>=s)
k++;
if(a[i].nr<a[j].cf && a[j].cf-a[i].nr>=s)
k++;
}
if(k==m)
{
++m;
a[m].cf=a[i].nr;
a[i].poz=mul;
++kkt;
}
}
}
for(i=1; i<=m; ++i)
a[i].cf=0;
m=0;
}
printf("%llu\n",mul);
for(i=1; i<=n; ++i)
printf("%llu\n",a[i].poz);
return 0;
}