Pagini recente » Cod sursa (job #3218190) | Cod sursa (job #125162)
Cod sursa(job #125162)
#include<fstream.h>
#include<math.h>
long long n,d,pas,a[300000],uz[300000],v[300000],i,j,gasit,k,o;
int main()
{
ifstream f("partitie.in");
ofstream g("partitie.out");
f>>n>>d;
for(i=1;i<=n;i++)
f>>a[i];
pas=1;
while(k<n)
{
for(i=1;i<=n;i++)
if(a[i]!=0)
{
v[o]=a[i];
o++;
k++;
a[i]=0;
uz[i]=pas;
i=n+1;
}
for(i=1;i<=n;i++)
if(a[i]!=0)
{
gasit=0;
for(j=0;j<o;j++)
if(abs(a[i]-v[j])<d)
gasit=1;
if(gasit==0)
{
v[o]=a[i];
o++;
a[i]=0;
uz[i]=pas;
k++;
}
}
pas++;
for(i=0;i<o;i++)
v[i]=0;
}
g<<pas-1<<"\n";
for(i=1;i<=n;i++)
g<<uz[i]<<"\n";
return 0;
}