Pagini recente » Cod sursa (job #1852294) | Cod sursa (job #1876474) | Cod sursa (job #1847582) | Cod sursa (job #2207906) | Cod sursa (job #2456533)
#include <bits/stdc++.h>
using namespace std;
ifstream f("operatii.in");
ofstream g("operatii.out");
const int NMAX = 1000005;
int n, v[NMAX], ans;
void coating(int lo, int &hi, int value){
int i;
for(i = lo ; v[i] && i <= n ; i++)
if(v[i] > value){
coating(i, i, v[i]);
//ans -= (v[i] - v[hi]);
}else
if(v[i] < value){
ans += (value - v[i]);
value = v[i];
}
ans += (v[i - 1] - v[i]);
hi = i;
}
int main(){
int i,lo,hi, Min = NMAX,a,b;
f >> n;
for(i = 1 ; i <= n ; i++)
f >> v[i];
for(i = 1 ; i <= n ; i++)
if(v[i]){
coating(i,i,v[i]);
}
g << ans;
return 0;
}