Pagini recente » Cod sursa (job #2912927) | Cod sursa (job #2511502) | Cod sursa (job #444253) | Cod sursa (job #1119497) | Cod sursa (job #115649)
Cod sursa(job #115649)
#include <cstdio>
#include <iostream>
using namespace std;
int st[1<<20], A[1<<20];
int main()
{
freopen("operatii.in", "r", stdin);
freopen("operatii.out", "w", stdout);
int N, x, n_st = 0;
long long ret = 0;
scanf("%d", &N);
for( int i = 1; i <= N; i++ )
scanf("%d", A + i );
for( int i = 0; i <= N + 1; i++ )
{
x = A[i];
if( st[n_st] > x )
{
ret += (long long)(st[n_st]) - x;
while( st[n_st] > x )
--n_st;
}
if( st[n_st] < x )
st[++n_st] = x;
}
cout << ret << endl;
return 0;
}