Cod sursa(job #2960895)

Utilizator Ruxandra009Ruxandra Vasilescu Ruxandra009 Data 5 ianuarie 2023 11:21:16
Problema Partitie Scor 10
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.76 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("partitie.in");
ofstream g("partitie.out");
struct extreme
{
    int maxi, mini;
};
extreme A[30005];
int n, K, P[30005], k, x, ok;
int main()
{
    f >> n >> K;
    for(int i = 1; i <= n; i ++)
    {
        f >> x; ok = 0;
        for(int j = 1; j <= k; j ++)
            if(abs(A[j].maxi - x) >= K && abs(x - A[j].mini) >= K)
            {
                A[j].maxi = max(A[j].maxi, x);
                A[j].mini = min(A[j].mini, x);
                P[i] = j; ok = 1; break;
            }

        if(ok == 0)
        {
            A[++ k] = {x, x};
            P[i] = k;
        }
    }

    g << k << '\n';
    for(int i = 1; i <= n; i ++)
        g << P[i] << '\n';
    return 0;
}