Cod sursa(job #2968696)

Utilizator tedicTheodor Ciobanu tedic Data 21 ianuarie 2023 20:11:10
Problema Partitie Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <fstream>
#include <algorithm>
#pragma GCC ooptimize("O1")
#pragma GCC ooptimize("O2")
#pragma GCC ooptimize("O3")
#pragma GCC ooptimize("unroll-loops")
using namespace std;
int v[300005], v2[300005],sol[300005];
int main()
{
    ifstream cin("partitie.in");
    ofstream cout("partitie.out");
    int n,d,cnt=1;
    cin>>n>>d;
    for(int i=0; i<n; i++)
        cin>>v[i], v2[i]=v[i];
    sort(v,v+n);
    for(int i=0; i<n; i++)
    {
        if(sol[i]==0)
            sol[i]=cnt,cnt++;
            for(int j=i+1; j<n; j++)
            {
                if(v[j]-d>=v[i] && sol[j]==0)
                {
                    sol[j]=sol[i];
                    break;
                }
            }
    }
    cout<<cnt-1<<'\n';
    for(int i=0; i<n; i++)
    {
        for(int j=0; j<n; j++)
        {
            if(v2[i]==v[j])
                cout<<sol[j]<<'\n';
        }
    }
    return 0;
}