Pagini recente » Cod sursa (job #2285043) | Cod sursa (job #1491935) | Cod sursa (job #1051044) | Cod sursa (job #9293) | Cod sursa (job #1730507)
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("partitie.in");
ofstream g("partitie.out");
const int dimensiune = 300005;
int a[dimensiune],n,i,j,nr,d;
pair<int, int> v[dimensiune];
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<<'\n';
for(i=1; i<=n; i++)
{
g<<a[i]<<'\n';
}
f.close();
g.close();
return 0;
}