Cod sursă (job #600886)

Utilizator avatar rares_ciociea balkdk rares_ciociea IP ascuns
Problemă Ruleta1 ( clasa a 6-a ) Compilator cpp-32 | 0,94 kb
Rundă Arhiva de probleme Status evaluat
Dată 27 iun. 2021 12:45:17 Scor 44
#include <fstream>
#include <unordered_map>
using namespace std;
ifstream in("ruleta1.in");
ofstream out("ruleta1.out");
int v[10010];
unordered_map <int,bool>ap;
int main()
{
    int n;
    in>>n;
    for(int i=1;i<=n;i++)
        in>>v[i];
    v[n+1]=v[1];
    bool ok=1;
    int r=0;
    int t=0;
    for(int i=1;i<=n;i++)
        ap[i]=1;
    while(ok)
    {
        ok=0;
        r=0;
        for(auto i:ap)
        {
            if(v[i.first]&&v[i.first]<=v[i.first+1])
            {
                ap[i.first+1]=1;
                ok=1;
                v[i.first+1]-=v[i.first];
            }
            if(v[i.first])
                r++;
            else if(v[i.first]&&v[i.first]>v[i.first+1])
                ap.erase(i.first);
        }
        v[1]=v[n+1];
        if(ok==1)
            t++;
    }
    r=0;
    for(int i=1;i<=n;i++)
        if(v[i])
        r++;
    out<<t+1<<" "<<r;
    return 0;
}