Cod sursa(job #125002)
Utilizator | Data | 20 ianuarie 2008 10:53:33 | |
---|---|---|---|
Problema | Partitie | Scor | 10 |
Compilator | cpp | Status | done |
Runda | preONI 2008, Runda 3, Clasa a 10-a | Marime | 0.52 kb |
#include"fstream.h"
#include"math.h"
int c[300010];
int main()
{
ifstream fin("partitie.in");
ofstream fout("partitie.out");
long n,d,v[300010],i,j,max=0;
fin>>n>>d;
for(i=1;i<=n;++i)
fin>>v[i];
for(i=1;i<n;++i)
for(j=i+1;j<=n;++j)
if(c[i]==c[j]) //daca sunt in aceeasi submultime
{
if(abs(v[i]-v[j])<d)
{
c[j]++;
if(c[j]>max)
max=c[j];
}
}
else
;
fout<<max+1<<"\n";
for(i=1;i<=n;++i)
fout<<c[i]+1<<"\n";
return 0;}