Pagini recente »
Monitorul de evaluare
|
Istoria paginii runda/concurs_nerdvana_5a/clasament
|
Istoria paginii runda/lab26_6a
|
Monitorul de evaluare
|
Cod sursă (job #648006)
Cod sursă (job
#648006)
#include <fstream>
#include <list>
using namespace std;
int main()
{
ifstream in;
ofstream out;
in.open("ruleta1.in");
out.open("ruleta1.out");
long n, r = 0, t = 0, aux = 0; bool schimbat = 1;
in >> n;
list<long> nr;
for (long i = 0; i < n; i++)
{
in >> aux;
nr.push_back(aux);
}
while (schimbat)
{
schimbat = 0; r++;
for (list<long>::iterator it = nr.begin(); it != prev(nr.end()); it++)
{
if (*it)
{
if (*it <= *next(it))
{
*next(it) -= *it;
schimbat = 1;
}
}
else if (!*next(it))
{
nr.erase(next(it));
}
}
if (*prev(nr.end()) && *nr.begin() >= *prev(nr.end()))
{
*nr.begin() -= *prev(nr.end());
schimbat = 1;
}
}
for (list<long>::iterator it = nr.begin(); it != nr.end(); it++)
{
if (*it)
t++;
}
out << r << " " << t;
return 0;
}