# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
337853 | 2020-12-22T03:31:18 Z | tengiz05 | 입자 가속기 (IZhO11_collider) | C++17 | 1 ms | 492 KB |
#include <bits/stdc++.h> #include <bits/extc++.h> using namespace __gnu_pbds; using namespace std; template<class T> using ordered_set = tree<T, null_type, less_equal<T>, rb_tree_tag, tree_order_statistics_node_update>; #define int long long #define FASTIO ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); #define all(x) (x).begin(), (x).end() #define pb push_back #define pii pair<int, int> #define ff first #define ss second #define PI acos(-1) #define ld long double template <class T> bool ckmin(T& a, const T& b) {return a > b ? a = b, true : false;} template <class T> bool ckmax(T& a, const T& b) {return a < b ? a = b, true : false;} const int mod = 1e9+7, N = 2e5+5; int msb(int val){return sizeof(int)*8-__builtin_clzll(val);} int a[N], n, m, k; void solve(int test_case){ int i, j; ordered_set<pair<int, char>> s; cin >> n >> m; s.insert({mod*mod, (char)125}); for(i=0;i<n;i++){ char c; cin >> c; s.insert({i*mod+100000, c}); } while(m--){ char type; cin >> type; // for(auto [x, y] : s )cout << x << ' ' << y << '\n'; // cout << '\n'; if(type == 'a'){ int l, r; cin >> l >> r; l--,r--; auto x = s.find_by_order(l); char val = (*x).ss; s.erase(x); x = s.find_by_order(r); s.insert({(*x).ff-1, val}); assert((*s.find_by_order(r)).ss == val); }else { int p; cin >> p; p--; char ans = (*s.find_by_order(p)).ss; cout << ans << '\n'; } } return; } signed main(){ FASTIO; #define MULTITEST 0 #if MULTITEST int _T; cin >> _T; for(int T_CASE = 1; T_CASE <= _T; T_CASE++) solve(T_CASE); #else solve(1); #endif return 0; }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Runtime error | 1 ms | 492 KB | Execution killed with signal 6 (could be triggered by violating memory limits) |
2 | Halted | 0 ms | 0 KB | - |