Cod sursă (job #216027)

Utilizator avatar andrei20003 Ionescu Andrei andrei20003 IP ascuns
Problemă Ruleta1 ( clasa a 6-a ) Compilator c | 1,06 kb
Rundă runda1_pregatire_j6 Status evaluat
Dată 5 mar. 2016 18:24:26 Scor 100
#include <stdio.h>

int v[10001],v2[10001];

int main()
{
    FILE *fin,*fout;
    int ok,n,x,i,nr2,z,ok2,nr;
    fin=fopen("ruleta1.in","r");
    fout=fopen("ruleta1.out","w");
    fscanf(fin,"%d", &n);
    for (i=0;i<n;i++) {
        fscanf(fin,"%d", &v[i]);
        v2[i]=i+1;
    }
    v2[n-1]=i=ok=z=ok2=nr=0;
    x=n;
    while (ok2==0) {
        if (v2[i]==(i+1)%n)
            if (v[v2[i]]>=v[i] && v[i]) {
                v[v2[i]]=v[v2[i]]-v[i];
                ok=1;
                if (v[v2[i]]+z==0) {
                    x=i;
                    z=1;
                }
                else
                    if (v[i]<=v[v2[i]]) {
                        v2[x]=i;
                        z=0;
                        x=n;
                    }
            }
        if (v2[i]<i) {
            nr++;
            if (ok==0)
                ok2=1;
            else
                ok=0;
        }
        i=v2[i];
    }
    nr2=0;
    for (i=0;i<n;i++)
        nr2=nr2+(v[i]>0);
    fprintf(fout,"%d %d", nr, nr2);
    return 0;
}