Pagini recente » Cod sursa (job #1378321) | Cod sursa (job #2069281) | Cod sursa (job #1517418) | Cod sursa (job #91855) | Cod sursa (job #1730440)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("partitie.in");
ofstream g("partitie.out");
int a[300005],n,d,nr,i,j;
pair<int, int> v[300005];
int main()
{
f>>n>>d;
for(i=1; i<=n; i++)
{
f>>v[i].first, v[i].second=i;
}
sort(v+1,v+n+1);
for(i=1,j=1; i<=n; i++)
{
while(d<=v[i].first - v[j].first)
j++;
nr=max(nr,i-j+1);
}
for(i=1; i<=n; i++)
{
a[v[i].second]=i%nr+1;
}
g<<nr<<endl;
for(i=1; i<=n; i++)
{
g<<a[i]<<endl;
}
f.close();
g.close();
return 0;
}