Cod sursa(job #125261)

Utilizator runnaway90Oprescu Radu Constantin runnaway90 Data 20 ianuarie 2008 12:20:10
Problema Partitie Scor 0
Compilator c Status done
Runda preONI 2008, Runda 3, Clasa a 9-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;
}