Pagini recente »
Monitorul de evaluare
|
Cod sursă (job #625739)
|
Cod sursă (job #295610)
|
Cod sursă (job #495230)
|
Cod sursă (job #216027)
Cod sursă (job
#216027)
#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;
}