Pagini recente »
Cod sursă (job #807844)
Cod sursă (job
#807844)
#include<fstream>
using namespace std;
ifstream cin("ruleta1.in");
ofstream cout("ruleta1.out");
#define Z 4096
int a[10000],p=Z;
char s[Z];
inline char A()
{
if(p==Z)
cin.read(s,Z),p=0;
return s[p++];
}
short B()
{
char c;
for(c=A();c<48;c=A());
int n=0;
for(;c>47;n=n*10+c-48,c=A());
return n;
}
int main()
{
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n=B(),i,r=0,t=0,k=0;
for(i=0;i<n;a[i++]=B());
for(i=0;k<=n;) {
for(;i<n-1&&k<=n&&(!a[i]||a[i]>a[i+1]);++i,++k,++r);
if(i==n-1&&(!a[i]||a[0]<a[n-1]))
for(++k,++r,i=0;i<n-1&&k<=n&&(!a[i]||a[i]>a[i+1]);++i,++k,++r);
if(i<n-1&&a[i]&&a[i]<=a[i+1])
a[i+1]-=a[i],k=0,++i,++r;
else if(i>n-2&&a[n-1]&&a[n-1]<=a[0])
a[0]-=a[n-1],k=0,i=0,++r;
}
for(i=0;i<n;++i)
if(a[i])
++t;
return cout<<r/n+(r%n>1?1:0)<<' '<<t,0;
}