Submission #1098279

#TimeUsernameProblemLanguageResultExecution timeMemory
1098279SSKMFInfinite Race (EGOI24_infiniterace2)C++17
100 / 100
191 ms20308 KiB
#include <bits/stdc++.h>
using namespace std;

set <int> fata , spate;

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

    int total , numar_operatii;
    cin >> total >> numar_operatii;

    for (int indice = 1 ; indice <= total ; indice++)
        { fata.insert(indice); }

    int minim = 0;
    while (numar_operatii--)
    {
        int valoare;
        cin >> valoare;

        if (valoare < 0)
        {
            set <int> :: iterator locatie = spate.find(-valoare);
            if (locatie != spate.end())
            {
                fata.insert(-valoare);
                spate.erase(locatie);
            }
        }
        else
        {
            set <int> :: iterator locatie = fata.find(valoare);
            if (locatie != fata.end())
            {
                spate.insert(valoare);
                fata.erase(locatie);
            }
            else
            {
                minim++;
                for (auto candidat : spate) {
                    if (candidat != valoare)
                        { fata.insert(candidat); }
                }

                spate.clear();
                spate.insert(valoare);
            }
        }
    }

    cout << minim;
    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...