Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.59 KB | None | 0 0
  1.    
  2. #include <bits/stdc++.h>
  3.  
  4. using namespace std;
  5.  
  6. ifstream f ("xspe.in");
  7. ofstream g ("xspe.out");
  8.  
  9. int n;
  10. int a[1000005] , ans[10000005];
  11.  
  12. stack < int > s;
  13.  
  14. int main()
  15. {
  16.     int i;
  17.  
  18.     f >> n;
  19.  
  20.     for(i = 1 ; i <= n ; i++)
  21.         f >> a[i];
  22.  
  23.     for(i = n ; i >= 1 ; i--)
  24.     {
  25.         while(s.empty() == false && a[s.top()] >= a[i])
  26.             s.pop();
  27.  
  28.         if(s.empty() == true)
  29.             ans[i] = a[i];
  30.         else ans[i] = a[s.top()] + a[i];
  31.  
  32.         s.push(i);
  33.     }
  34.  
  35.     for(i = 1 ; i <= n ; i++)
  36.         g << ans[i] << ' ';
  37.  
  38.     return 0;
  39. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement