Pagini recente »
Istoria paginii runda/2016-04-18-test-7-8-prelungire
|
Clasament nu_ai_curaj2
|
Cod sursă (job #672428)
|
Istoria paginii utilizator/mexeea
|
Cod sursă (job #814936)
Cod sursă (job
#814936)
#include <stdio.h>
#define MAXN 10000
int v[MAXN];
int poz[MAXN + 1];
int main()
{
FILE *fin, *fout;
int n, i, iesire, st, x, st1, nr, rot;
fin = fopen("ruleta1.in", "r");
fscanf(fin, "%d", &n);
for(i = 0; i < n; i++){
fscanf(fin, "%d", &v[i]);
poz[i] = (i + 1) % n;
}
fclose(fin);
fout = fopen("ruleta1.out", "w");
x = n;
st = rot = iesire = i = 0;
st1 = 1;
while(iesire == 0){
if(poz[i] == (i + 1) % n && v[i] <= v[poz[i]] && v[i] > 0){
v[poz[i]] = v[poz[i]] - v[i];
st = 1;
if(v[poz[i]] == 0 && st1 == 1){
x = i;
st1 = 0;
}
else if(v[poz[i]] >= v[i]){
st1 = 1;
poz[x] = i;
x = n;
}
}
if(i > poz[i]){
if(st == 0)
iesire = 1;
st = 0;
rot++;
}
i = poz[i];
}
nr = 0;
for(i = 0; i < n; i++)
if(v[i] > 0)
nr++;
fprintf(fout, "%d %d\n", rot, nr);
fclose(fout);
return 0;
}