Cod sursa(job #1489617)

Utilizator depevladVlad Dumitru-Popescu depevlad Data 21 septembrie 2015 18:46:16
Problema Partitie Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

const int MAX_N = 300000;

int V[MAX_N + 5];

int main() {
    int k, n, d, i, j, val, len;

    in >> n >> d;
    for(i = 1; i <= n; i++) in >> V[i];

    sort(V+1, V+n+1);
    for(i = 1, j = 1, len = V[i], k = 0; i <= n; i++) {
        len = len - V[i] + V[i-1];
        while(j < n && len + V[j+1] - V[j] < d) j++, len += V[j+1] - V[j];
        k = max(k, j - i + 1);
    }

    out << k << "\n";
    for(i = 1; i <= n/k; i++) {
        for(j = 1; j <= k; j++) {
            out << j << "\n";
        }
    }
    for(i = 1; i <= n % k; i++) out << i << "\n";

    return 0;
}