Pagini recente »
Borderou de evaluare (job #565591)
|
Borderou de evaluare (job #201635)
|
2020-02-20-clasa-7-tema-23-optionala
|
Istoria paginii runda/s19_lab6/clasament
|
Cod sursă (job #700624)
Cod sursă (job
#700624)
#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;
}