Pagini recente » Cod sursa (job #1239765) | Cod sursa (job #262808) | Cod sursa (job #2693015) | Cod sursa (job #3247302) | Cod sursa (job #2495159)
#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;
}