Cod sursa(job #1743986)

Utilizator fanache99Constantin-Buliga Stefan fanache99 Data 19 august 2016 01:47:05
Problema Partitie Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
#include <algorithm>
using namespace std;

ifstream cin("partitie.in");
ofstream cout("partitie.out");

pair<int, int> v[300010];
int color[300010];

int main() {
    int n, d, answer = 0;
    cin >> n >> d;
    for (int i = 1; i <= n; i++) {
        cin >> v[i].first;
        v[i].second = i;
    }
    sort(v + 1, v + n + 1);
    for (int i = 1, j = 1; i <= n; i++) {
        while (d <= v[i].first - v[j].first)
            j++;
        answer = max(answer, i - j + 1);
    }
    for (int i = 1; i <= n; i++)
        color[v[i].second] = i % answer + 1;
    cout << answer << "\n";
    for (int i = 1; i <= n; i++)
        cout << color[i] << "\n";
    return 0;
}