Cod sursa(job #125260)
Utilizator | Data | 20 ianuarie 2008 12:20:10 | |
---|---|---|---|
Problema | Partitie | Scor | 0 |
Compilator | c | Status | done |
Runda | preONI 2008, Runda 3, Clasa a 10-a | Marime | 1.21 kb |
#include<stdio.h>
long a[20000][20000],b[40000],n,d,i,j,k,ko,ok,w,q;
int main()
{
freopen("partitie.in","r",stdin);
freopen("partitie.out","w",stdout);
scanf("%ld %ld",&n,&d);
j=0;
for(i=1;i<=n;i++)
{
scanf("%ld",&q);
ko=1;
for(k=1;k<=j;k++)
{
ok=1;
for(w=1;w<=a[k][0];w++)
if ((a[k][w]-q>-d)&&(a[k][w]-q<d))
ok=0;
if (ok)
{
a[k][0]++;a[k][a[k][0]]=q;
ko=0;b[i]=k;
break;
}
}
if (ko)
{
j++;a[j][0]++;
b[i]=j;
a[j][a[j][0]]=q;
}
}
printf("%ld\n",j);
for(i=1;i<=n;i++)
printf("%ld\n",b[i]);
return 0;
}