Advertisement
Guest User

Water trap

a guest
Sep 19th, 2018
78
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.69 KB | None | 0 0
  1. #include <iostream>
  2. using namespace std;
  3.  
  4. int n, a[100001];
  5. int maxime_st[100001];
  6. int maxime_dr[100001];
  7.  
  8. int main(){
  9.     cin >> n;
  10.     int maxim = 0;
  11.     for(int i = 1; i <= n; ++i){
  12.         cin >> a[i];
  13.         if(a[i] > maxim)
  14.             maxim = a[i];
  15.         maxime_st[i] = maxim;
  16.     }
  17.  
  18.     maxim = 0;
  19.     for(int i = n; i >= 1; --i){
  20.         if(a[i] > maxim)
  21.             maxim = a[i];
  22.         maxime_dr[i] = maxim;
  23.     }
  24.  
  25.     int w = 0;
  26.  
  27.     for(int i = 2; i < n; ++i)
  28.         if(a[i] < min(maxime_st[i],maxime_dr[i])){
  29.         w += (min(maxime_st[i],maxime_dr[i]) - a[i]);
  30.         a[i] = min(maxime_st[i],maxime_dr[i]);
  31.        }
  32.  
  33.     cout << w;
  34.     return 0;
  35. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement