Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<bits/stdc++.h>
- #define ll long long
- #define ld long double
- #define FORn(i, n) for(ll i=1; i<=(n); i++)
- #define FORRn(i, n) for(ll i=(n); i>=1; i--)
- using namespace std;
- int t, n;
- void prc(){
- int res=0, x, y;
- vector<int> l(n+2), r(n+2), a(n+2);
- deque<int> s;
- s={0};
- FORn(i, n){
- cin>>a[i];
- while(a[i]<=a[s.back()]) s.pop_back();
- l[i]=s.back();
- s.push_back(i);
- }
- s={n+1};
- FORRn(i, n){
- while(a[i]<=a[s.front()]) s.pop_front();
- r[i]=s.front();
- s.push_front(i);
- }
- FORn(i, n)
- if(a[i]*(r[i]-l[i]-1)>res)
- res=a[i]*(r[i]-l[i]-1), x=l[i]+1, y=r[i]-1;
- cout<<res<<' '<<x<<' '<<y<<'\n';
- }
- int main(){
- cin>>t;
- while(t--){
- cin>>n;
- prc();
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement