Submission #1109199

#TimeUsernameProblemLanguageResultExecution timeMemory
1109199TsaganaCollider (IZhO11_collider)C++14
100 / 100
137 ms2756 KiB
#include<bits/stdc++.h>

#define IOS ios_base::sync_with_stdio(false);cin.tie();cout.tie();
#define all(x) x.begin(), x.end()
#define lnl long long
#define pq priority_queue
#define eb emplace_back
#define lb lower_bound
#define ub upper_bound
#define pb push_back
#define pp pop_back
#define F first
#define S second

using namespace std;

void solve () {
	int n, q; cin >> n >> q;
	string s; cin >> s;

	vector<pair<int, int>> v;
	while (q--) {
		char c; cin >> c;
		if (c == 'a') { int l, r; cin >> l >> r; v.pb({l, r});}
		else {
			int k; cin >> k;
			for (int i = v.size()-1; i >= 0; i--) {
				if (k == v[i].S) {k = v[i].F; continue ;}
				if (v[i].F < v[i].S && k >= v[i].F && k < v[i].S) k++;
				if (v[i].F > v[i].S && k <= v[i].F && k > v[i].S) k--;
			}
			cout << s[k-1] << '\n';
		}
	}
}
int main() {IOS solve(); return 0;}
#Verdict Execution timeMemoryGrader output
Fetching results...