Cod sursa(job #127081)

Utilizator SharpeBigadrian ursulescu SharpeBig Data 23 ianuarie 2008 13:03:54
Problema Operatii Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.51 kb
#include <iostream>
#include <fstream>
using namespace std;

const int maxn=1000666;
int A[maxn]={0},Q[maxn]={0},i,n,lung=0;
long long rezultat=0;

int main()
{ ifstream fin("operatii.in");
  ofstream fout("operatii.out");
  fin>>n;for(i=1;i<=n;fin>>A[i],i++);
  for(i=1;i<=n+1;i++)
  if(A[i]>Q[lung]) Q[++lung]=A[i]; else
  if(A[i]<Q[lung])
  {  rezultat+=Q[lung]-A[i];
     while(lung>0&& Q[lung]>=A[i]) lung--;
     Q[++lung]=A[i];
  }
  fout<<rezultat;
  fin.close();fout.close();
  return 0;
}