Cod sursă (job #700624)

Utilizator avatar DumitrescuA DumitrescuAndrei DumitrescuA IP ascuns
Problemă Ruleta1 ( clasa a 6-a ) Compilator cpp-32 | 0,97 kb
Rundă Arhiva de probleme Status evaluat
Dată 4 mar. 2023 10:37:41 Scor 80
#include <fstream>

using namespace std;

ifstream cin("ruleta1.in");
ofstream cout("ruleta1.out");
#define N_MAX 10000
int v[N_MAX+1], urm[N_MAX+1];
int main()
{
    int i,n,s,cnt;
    long long k,runde;
    cin>>n;
    for(i=0;i<n;i++){
        cin>>v[i];
        urm[i]=(i+1)%n;
    }
    s=cnt=i=runde=0;
    k=n;
    while(s==0){
        if(urm[i]==(i+1)%n ){
            if(v[urm[i]]>=v[i] && v[i]!=0){
                v[urm[i]]-=v[i];
                cnt=1;
                if(v[urm[i]]==0){
                    k=i;
                }else if(v[i]<=v[urm[i]]){
                    urm[k]=i;
                    k=n;
                }
            }
        }
        if(urm[i]<i){
            if(cnt==0)
                s=1;
            else
                cnt=0;
            runde++;
        }
        i=urm[i];
    }
    cnt=0;
    for(i=0;i<n;i++){
        if(v[i]>0)
            cnt++;
    }
    cout<<runde<<" "<<cnt;
    return 0;
}