Cod sursa(job #1730440)

Utilizator victor.manoliu15Victor Manoliu victor.manoliu15 Data 16 iulie 2016 22:20:51
Problema Partitie Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.63 kb
#include<fstream>
#include<algorithm>
using namespace std;
ifstream f("partitie.in");
ofstream g("partitie.out");
int a[300005],n,d,nr,i,j;
pair<int, int> v[300005];
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<<endl;

    for(i=1; i<=n; i++)
    {
        g<<a[i]<<endl;
    }

    f.close();
    g.close();

    return 0;
}