#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define ar array
void solve() {
int n;
cin >> n;
vector<int> a(n + 1);
for (int i = 1; i <= n;i++) {
cin >> a[i];
}
vector<int> dec,dp,pos;
dec.push_back(a[1]);
dp.push_back(0);
pos.push_back(1);
for (int i = 2; i <= n;i++) {
if (dec.back() > a[i]) {
dec.push_back(a[i]);
dp.push_back(dp.back() + (i - pos.back()));
pos.push_back(i);
}
}
int q;
cin >> q;
int cnt = 0;
reverse(dp.begin(), dp.end());
reverse(dec.begin(), dec.end());
dp.pop_back();
while(q--) {
int qt;
cin >> qt;
if (qt == 1) cnt++;
else {
int l, r;
cin >> l >> r;
while (!dp.empty() && dp.back() <= cnt) {
dp.pop_back();
dec.pop_back();
}
cout << dec.back() << "\n";
}
}
}
signed main() {
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
cout.tie(nullptr);
int t = 1;
//cin >> t;
while (t--) {
solve();
cout << "\n";
}
return 0;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |