Cod sursa(job #2403175)

Utilizator viftode4Iftode Vlad viftode4 Data 11 aprilie 2019 12:35:24
Problema Partitie Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.7 kb
#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;
}