Cod sursa(job #274747)

Utilizator AnDrEwBoYA Andrei AnDrEwBoY Data 9 martie 2009 22:43:23
Problema Operatii Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.96 kb
#include<stdio.h>

#define MAX_N 1000001
#define ZONA 1
#define NZONA 0
long vector[MAX_N / 2];
int main()
{
    long v;
    long n,i,totalZ = 0; int status = NZONA;
    long operatii = 0;
    freopen("operatii.in","r",stdin);
    freopen("operatii.out","w",stdout);
    
    scanf("%ld",&n);
    
    for(i = 1; i <= n; i++)
    {
          scanf("%ld",&v);
          if(v > 0 && status == ZONA)
          {
             if(vector[totalZ] < v) vector[totalZ] = v;  
          }
          else if(v == 0 && status == ZONA)
          {
               status = NZONA;
               operatii += vector[totalZ];
          }
          else if(v > 0 && status == NZONA)
          {
               status = ZONA;
               totalZ++;
               vector[totalZ] = v;
          }
          if(i == n && status == ZONA && v > 0) operatii+= vector[totalZ];
    }
    printf("%ld",operatii);
    fclose(stdin); fclose(stdout);
    return 0;
}