Pagini recente »
Istoria paginii utilizator/adabordianu
|
Monitorul de evaluare
|
Istoria paginii utilizator/vladafrasinei
|
Monitorul de evaluare
|
Cod sursă (job #648001)
Cod sursă (job
#648001)
#include <fstream>
#include <deque>
using namespace std;
int main()
{
ifstream in;
ofstream out;
in.open("ruleta1.in");
out.open("ruleta1.out");
long n, r = 0, t = 0; bool schimbat = 1;
in >> n;
deque<long> nr(n);
for (long i = 0; i < n; i++)
{
in >> nr[i];
}
while (schimbat)
{
schimbat = 0; r++;
for (long i = 0; i < n-1; i++)
{
if (nr[i])
{
if (nr[i] <= nr[i+1])
{
nr[i+1] -= nr[i];
schimbat = 1;
}
}
else if (!nr[i+1])
{
nr.erase(nr.begin()+i);
n--;
}
}
if (nr[n-1] && nr[0] >= nr[n-1])
{
nr[0] -= nr[n-1];
schimbat = 1;
}
}
for (long i = 0; i < n; i++)
{
if (nr[i])
t++;
}
out << r << " " << t;
return 0;
}