Advertisement
leminhkt

noname17 (KAGAIN)

Mar 4th, 2020
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.66 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. #define ll long long
  3. #define ld long double
  4. #define FORn(i, n) for(ll i=1; i<=(n); i++)
  5. #define FORRn(i, n) for(ll i=(n); i>=1; i--)
  6. using namespace std;
  7.  
  8. int t, n;
  9. void prc(){
  10.     int res=0, x, y;
  11.     vector<int> l(n+2), r(n+2), a(n+2);
  12.     deque<int> s;
  13.     s={0};
  14.     FORn(i, n){
  15.         cin>>a[i];
  16.         while(a[i]<=a[s.back()]) s.pop_back();
  17.         l[i]=s.back();
  18.         s.push_back(i);
  19.     }
  20.     s={n+1};
  21.     FORRn(i, n){
  22.         while(a[i]<=a[s.front()]) s.pop_front();
  23.         r[i]=s.front();
  24.         s.push_front(i);
  25.     }
  26.     FORn(i, n)
  27.         if(a[i]*(r[i]-l[i]-1)>res)
  28.             res=a[i]*(r[i]-l[i]-1), x=l[i]+1, y=r[i]-1;
  29.     cout<<res<<' '<<x<<' '<<y<<'\n';
  30. }
  31. int main(){
  32.     cin>>t;
  33.     while(t--){
  34.         cin>>n;
  35.         prc();
  36.     }
  37. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement