Pagini recente » Cod sursa (job #198790) | Cod sursa (job #1704141) | Cod sursa (job #2694159) | Cod sursa (job #1013629) | Cod sursa (job #2403175)
#include <bits/stdc++.h>
using namespace std;
ifstream fin ( "partitie.in" );
ofstream fout ( "partitie.out" );
int n, d, in, x;
struct nr {
int x, i, sol;
} a[1000004];
int cmpx ( nr&a, nr&b ) {
return a.x < b.x;
}
int main() {
fin >> n >> d;
for ( int i = 1; i <= n; i++ ) {
fin >> x;
a[i].x = x;
a[i].i = i;
}
sort ( a + 1, a + n + 1, cmpx );
for ( int i = 1; i <= n; i++ ) {
int j = i;
while ( j <= n && abs ( a[j].x - a[i].x ) < d ) j++;
in = max ( in, abs ( i - j ) );
}
fout << in << '\n';
for ( int i = 0; i < n; i++ )
fout << i % in + 1 << '\n';
return 0;
}