Cod sursa(job #284693)
| Utilizator | Data | 21 martie 2009 21:38:11 | |
|---|---|---|---|
| Problema | Operatii | Scor | 10 |
| Compilator | cpp | Status | done |
| Runda | Arhiva de probleme | Marime | 0.53 kb |
#include <stdio.h>
FILE *f=fopen("operatii.in","r");
FILE *g=fopen("operatii.out","w");
unsigned long long mx,nr,x1,x2,i,n;
int ok=1;
int main()
{
fscanf(f,"%lld",&n);
fscanf(f,"%lld",&x1);
mx=x1;
for(i=2;i<=n;i++)
{
fscanf(f,"%lld",&x2);
if(mx<x2)
mx=x2;
if(ok==1&&x1>x2)//e la panta
ok=2; //schimbam directia pe care urmarim
if(ok==2&&x1<x2)//incepe pe alt munte
{
nr+=mx;
mx=x2;
ok=1;
}
x1=x2;
}
fprintf(g,"%lld",(nr+mx));
fclose(f);
fclose(g);
return 0;
}