Cod sursa(job #2924070)

Utilizator antonio_sefu_tauLaslau Antonio antonio_sefu_tau Data 24 septembrie 2022 12:23:02
Problema Partitie Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <fstream>
#include <cmath>
using namespace std;
const int dim=3e5+5;
int a[dim],n,d,nr,luat[dim],cr;
int main(){
    ifstream f("partitie.in");
    ofstream g("partitie.out");
    f>>n>>d;
    for(int i=1;i<=n;i++)
        f>>a[i];
    for(int i=1;i<=n;i++){
        if(luat[i]==0){
            luat[i]=++nr;
            cr=a[i];
            for(int j=i+1;j<=n;j++){
                if(abs(cr-a[j])>=d and luat[j]==0){
                    luat[j]=nr;
                    if(a[j]>a[j+1])
                        cr=a[j];
                    else
                        cr=a[j+1];
                }
            }
        }
    }
    g<<nr<<endl;
    for(int i=1;i<=n;i++)
        g<<luat[i]<<endl;
    return 0;
}