Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- Task : G-Maximum
- Author : Phumipat C. [MAGCARI]
- Language: C++
- Created : 17 October 2022 [20:49]
- */
- #include<bits/stdc++.h>
- using namespace std;
- int a[1000010],l[1000010],r[1000010];
- int main(){
- cin.tie(0)->sync_with_stdio(0);
- cin.exceptions(cin.failbit);
- int n;
- cin >> n;
- for(int i=1;i<=n;i++)
- cin >> a[i];
- for(int i=1;i<=n;i++){
- l[i] = i-1;
- while(l[i]>0 && a[l[i]] <= a[i]) l[i] = l[l[i]];
- }
- for(int i=n;i>=1;i--){
- r[i] = i+1;
- while(r[i]<n+1 && a[r[i]] <= a[i]) r[i] = r[r[i]];
- }
- for(int i=1;i<=n;i++){
- cout << r[i] - l[i] - 1 << ' ';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment