Cod sursă (job #222698)

Utilizator avatar darisavu Savu Daria darisavu IP ascuns
Problemă Ruleta1 ( clasa a 6-a ) Compilator cpp | 0,81 kb
Rundă runda1_pregatire_j6 Status evaluat
Dată 11 mar. 2016 12:35:01 Scor 100
#include <fstream>
using namespace std;
ifstream f("ruleta1.in");
ofstream g("ruleta1.out");
int main()
{
   int R[10001], u[10001];
   int ok = 0, n, k, i, t, z = 0, gt = 0;
   long r = 0;
   f >> n;
   for(i = 0; i < n; i++)
     {
         f >> 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++) t=t+(R[i]>0);
  g<<r<<' '<<t;
  f.close();g.close();
}