Cod sursa(job #2495159)

Utilizator victorv88Veltan Victor victorv88 Data 18 noiembrie 2019 22:07:43
Problema Grupuri Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.1 kb
#include <bits/stdc++.h>
using namespace std;

ifstream f("grupuri.in");
ofstream g("grupuri.out");

int k, n;
int x, rez, sus;
int aux[100005];

deque<int>deck;
deque<int>aux_deck;
int main( )
{
    f >> k >> n;
    for (int i=1; i<=n; ++i)
    {
        f >> x;
        deck.push_front(x);
    }
    while(1)
    {
        for (int i=1; i<=k; ++i)
        {
            if (deck.empty())
                deck.push_front(aux_deck.front()), aux_deck.pop_front();
            else if (!aux_deck.empty())
            {
                if (aux_deck.front()>=deck.front())
                {
                    deck.push_front(aux_deck.front());
                    aux_deck.pop_front();
                }
            }
            sus=deck.front();
            deck.pop_front();
            if (sus==0)
            {
                g << rez;
                return 1;
            }
            sus--;
            if (deck.front()>sus)
                aux_deck.push_back(sus);
            else
                deck.push_front(sus);

        }
        ++rez;
    }
    return 0;
}