Cod sursă (job #600904)

Utilizator avatar CalinHangu HanguCalin CalinHangu IP ascuns
Problemă Ruleta1 ( clasa a 6-a ) Compilator cpp-32 | 1,03 kb
Rundă Arhiva de probleme Status evaluat
Dată 27 iun. 2021 13:10:56 Scor 80
#include <fstream>
using namespace std;
ifstream in("ruleta1.in");
ofstream out("ruleta1.out");
int R[10005],u[10005];
int main()
{
    int ok=0,n,k,i,t,z=0,gt=0;
    long long r=0;
    in >> n;
    for(i=0;i<n;++i)
    {
        in>>R[i];
        u[i]=i+1;
    }
    u[n-1]=0;k=n;i=0;
    while(!gt)
    {
        if(u[i]==(i+1)%n)
            if(R[u[i]]>=R[i] && R[i])
            {
                R[u[i]]=R[u[i]]-R[i];
                ok=1;
                if(R[u[i]]+z==0)
                {
                    k=i;
                    z=1;
                }
                else if(R[i]<=R[u[i]])
                {
                    u[k]=i;
                    z=0;
                    k=n;
                }
            }
        if(u[i]<i)
        {
            r++;
            if(!ok)
                gt=1;
            else
                ok=0;
        }
        i=u[i];
    }
    t=0;
    for(i=0;i<n;i++)
    {
        if(R[i]>0)
            t++;
    }
    out<<r<<" "<<t;
    return 0;
}