Cod sursa(job #167522)

Utilizator luana_0105Fagarasan Luana luana_0105 Data 29 martie 2008 17:59:22
Problema Operatii Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 kb
#include<stdio.h>
#define nmax 1000010

int v[nmax];
int n,max,nrop;

void read()
{
     int i;
     freopen("operatii.in","r",stdin);
     freopen("operatii.out","w",stdout);
     scanf("%d", &n);
     for(i=1; i<=n; ++i)
        scanf("%d", &v[i]);
}


int caut_max()
{
    int i,maxim;
    maxim=v[1];
    for(i=2; i<=n; ++i)
       if(v[i]>maxim)
         maxim=v[i];
    return maxim;

}

void solve()
{
     int i=0, j=0, k=0;
     max= caut_max();
     while(max!=0)
     {
        for(i=1; i<=n; ++i)
          if(v[i]==max)
            break;
        j=i;
        while(v[j+1]==v[i])
           j++;
        for(k=i; k<=j; ++k)
           v[k]--;
        nrop++;
        max=caut_max();
     }
}

void print()
{
     printf("%d\n", nrop);
}

int main()
{
     read();
     solve();
     print();
     return 0;
}