Submission #1327129

#TimeUsernameProblemLanguageResultExecution timeMemory
1327129SSKMFRabbit Carrot (LMIO19_triusis)C++20
63 / 100
1094 ms1848 KiB
#include <bits/stdc++.h>
using namespace std;

int64_t maxim[200001];

int main ()
{
    ios :: sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);

    int lungime , limita;
    cin >> lungime >> limita;

    int inceput = 0;
    for (int indice = 1 , valoare ; indice <= lungime ; indice++)
    {
        cin >> valoare;

        if (maxim[lungime] < valoare - limita)
        {
            for (int __indice = lungime ; __indice > inceput ; __indice--)
                { maxim[__indice] = maxim[__indice - 1] + limita; }

            inceput++;
            continue;
        }

        if (maxim[inceput] >= valoare - limita)
        {
            for (int __indice = lungime ; __indice > inceput ; __indice--)
                { maxim[__indice] = maxim[__indice - 1] + limita; }

            maxim[inceput] = valoare;
            continue;
        }

        int locatie = inceput;
        while (maxim[locatie] < valoare - limita)
            { locatie++; }
        
        for (int __indice = lungime ; __indice > inceput ; __indice--)
            { maxim[__indice] = maxim[__indice - 1] + limita; }

        maxim[locatie] = valoare;
        inceput++;
    }

    cout << inceput;
    return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...