MAGCARI

G-Maximum

Oct 17th, 2022
760
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.57 KB | None | 0 0
  1. /*
  2.     Task    : G-Maximum
  3.     Author  : Phumipat C. [MAGCARI]
  4.     Language: C++
  5.     Created : 17 October 2022 [20:49]
  6. */
  7. #include<bits/stdc++.h>
  8. using namespace std;
  9. int a[1000010],l[1000010],r[1000010];
  10. int main(){
  11.     cin.tie(0)->sync_with_stdio(0);
  12.     cin.exceptions(cin.failbit);
  13.     int n;
  14.     cin >> n;
  15.     for(int i=1;i<=n;i++)
  16.         cin >> a[i];
  17.     for(int i=1;i<=n;i++){
  18.         l[i] = i-1;
  19.         while(l[i]>0 && a[l[i]] <= a[i])    l[i] = l[l[i]];
  20.     }
  21.     for(int i=n;i>=1;i--){
  22.         r[i] = i+1;
  23.         while(r[i]<n+1 && a[r[i]] <= a[i])  r[i] = r[r[i]];
  24.     }
  25.     for(int i=1;i<=n;i++){
  26.         cout << r[i] - l[i] - 1 << ' ';
  27.     }
  28.     return 0;
  29. }
Advertisement
Add Comment
Please, Sign In to add comment