Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <bits/stdc++.h>
- using namespace std;
- int S[100005],D[100005],v[100005];
- int main()
- {
- ifstream fin("nrapp.in");
- ofstream fout("nrapp.out");
- int n,vf,stiva[100005];
- fin>>n;
- for(int i=1;i<=n;++i)
- fin>>v[i];
- vf=0;
- stiva[vf]=n+1;
- for(int i=n;i>=1;--i)
- {
- while(vf>0&&v[i]<=v[stiva[vf]])
- --vf;
- D[i]=stiva[vf];
- stiva[++vf]=i;
- }
- vf=0;
- stiva[vf]=0;
- for(int i=1;i<=n;++i)
- {
- while(vf>0&&v[i]<=v[stiva[vf]])
- --vf;
- S[i]=stiva[vf];
- stiva[++vf]=i;
- }
- int q,y;
- char L;
- fin>>q;
- while(q--)
- {
- fin>>L>>y;
- if(L=='S')
- fout<<S[y]<<'\n';
- if(L=='D')
- fout<<D[y]<<'\n';
- }
- return 0;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement