Pagini recente » Cod sursa (job #532206) | Cod sursa (job #3179613) | Cod sursa (job #3151397) | Cod sursa (job #2278609) | Cod sursa (job #407132)
Cod sursa(job #407132)
#include<stdio.h>
#define NMAX 1000002
long a[NMAX],v[NMAX],n,nr,sum;
void read()
{
FILE*f=fopen("operatii.in","r");
fscanf(f,"%d",&n);
long i,o=1;
for(i=0;i<n;++i)
{
fscanf(f,"%d",&a[i]);
if(a[i])
{
if(o){++nr;o=0;}
a[i]-=1;
v[i]=1;
}
else o=1;
sum+=a[i];
}
fclose(f);
}
int main()
{
read();
long i,o=1,s;
while(sum)
for(i=0,o=1,s=0;i<n&&s<sum;++i)
{
if(a[i])
{
if(o){++nr;o=0;}
--a[i];
++v[i];
--sum;
s+=a[i];
}
else o=1;
}
FILE*g=fopen("operatii.out","w");
fprintf(g,"%d",nr);
fclose(g);
return 0;
}