Pagini recente » Cod sursa (job #1972233) | Cod sursa (job #229081) | Cod sursa (job #1697368) | Cod sursa (job #2685716) | Cod sursa (job #479095)
Cod sursa(job #479095)
#include<fstream>
#include<algorithm>
using namespace std;
const char iname[]="partitie.in";
const char oname[]="partitie.out";
const int maxn=300005;
ifstream f(iname);
ofstream g(oname);
int n,d,a[maxn],p[maxn],i,j,rez;
bool fcomp(int x,int y)
{
return a[x]<a[y];
}
int main()
{
f>>n>>d;
for(i=1;i<=n;++i)
f>>a[i],p[i]=i;
sort(p+1,p+n+1,fcomp);
j=1;
for(i=1;i<=n;++i)
{
for(;j<=n&&a[p[i]]-a[p[j]]>=d;++j);
rez=max(rez,i-j+1);
}
g<<rez<<"\n";
for(i=1;i<=n;++i)
a[p[i]]=i%rez+1;
for(i=1;i<=n;++i)
g<<a[i]<<"\n";
}