Pagini recente »
Istoria paginii runda/2024-09-12-clasa-9-tema-1/clasament
|
Istoria paginii runda/concurs-cls5-07-12-2019
|
Istoria paginii runda/2021-09-23-clasa-7-concurs01-cursuri-performanta/clasament
|
Istoria paginii runda/2024-01-09-clasa-6-tema-15/clasament
|
Cod sursă (job #600884)
Cod sursă (job
#600884)
#include <fstream>
#include <map>
using namespace std;
ifstream in("ruleta1.in");
ofstream out("ruleta1.out");
int v[10010];
map <int,bool>ap;
int main()
{
int n;
in>>n;
for(int i=1;i<=n;i++)
in>>v[i];
v[n+1]=v[1];
bool ok=1;
int r=0;
int t=0;
for(int i=1;i<=n;i++)
ap[i]=1;
while(ok)
{
ok=0;
r=0;
for(auto i:ap)
{
if(v[i.first]&&v[i.first]<=v[i.first+1])
{
ap[i.first+1]=1;
ok=1;
v[i.first+1]-=v[i.first];
}
if(v[i.first])
r++;
else if(v[i.first]&&v[i.first]>v[i.first+1])
ap.erase(i.first);
}
v[1]=v[n+1];
if(ok==1)
t++;
}
r=0;
for(int i=1;i<=n;i++)
if(v[i])
r++;
out<<t+1<<" "<<r;
return 0;
}