Cod sursa(job #1981484)

Utilizator usureluflorianUsurelu Florian-Robert usureluflorian Data 15 mai 2017 20:30:55
Problema Partitie Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.52 kb
#include <fstream>
#include <algorithm>
using namespace std;
ifstream f ("partitie.in");
ofstream g ("partitie.out");
int n,d,i,j,sol,v[1000000],p[1000000];
bool srt(int x,int y)
{
    return v[x]<v[y];
}
int main()
{
    f>>n>>d;
    for(i=1;i<=n;++i)
    f>>v[i];
    p[i]=i;
    sort(p+1,p+n+1,srt);
    for(i=j=1;i<=n;++i)
    {
        for(;j<=n&&v[p[i]]-v[p[j]]>=d;++j);
        sol=max(sol,i-j+1);
    }
    g<<sol<<'\n';
    for(i=1;i<=n;++i) v[p[i]]=i%sol+1;
    for(i=1;i<=n;++i) g<<v[i]<<'\n';
}