Pagini recente » Cod sursa (job #1413119) | Cod sursa (job #1969779) | Cod sursa (job #3236920)
#include <bits/stdc++.h>
#include <ext/rope>
using __gnu_cxx::rope;
//using namespace __gnu_pbds;
#define fi first
#define se second
#define sz(a) int((a).size())
#define all(a) (a).begin(), (a).end()
#define lsb(x) (x & (-x))
#define YES { fout << "DA" << endl; return; }
#define NO { fout << "NU" << endl; return; }
using ll = long long;
using pii = std::pair<int, int>;
using namespace std;
ifstream fin ("secv8.in");
ofstream fout ("secv8.out");
rope<int>s, rev;
int q, morb, k, e, l, r;
char ch;
signed main() {
fin >> q >> morb;
for (int i = 1; i <= q; ++i){
fin >> ch;
if(ch == 'I') {
fin >> k >> e;
--k;
rev.insert(s.size() - k, e);
s.insert(k, e);
}
if(ch == 'A') {
fin >> k;
fout << s[--k] << "\n";
}
if (ch == 'D'){
fin >> l >> r;
--l, --r;
rev.erase(s.size() - r - 1, r - l + 1);
s.erase(l, r - l + 1);
}
if(ch == 'R') {
fin >> l >> r;
--l, --r;
auto copie = s.substr(l, r - l + 1);
s.replace(l, r - l + 1, rev.substr(s.size() - r - 1, r - l + 1));
rev.replace(s.size() - r - 1, r - l + 1, copie);
}
}
for (auto it:s)
fout << it << " ";
return 0;
}