답안 #925324

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
925324 2024-02-11T12:23:16 Z Karoot 입자 가속기 (IZhO11_collider) C++17
0 / 100
0 ms 348 KB
#include <bits/extc++.h>
#include <iostream>
#include <cmath>
#include <unordered_map>
#include <map>
#include <set>
#include <queue>
#include <vector>
#include <string>
#include <iomanip>
#include <algorithm>

#define all(x)  (x).begin(), (x).end()
#define rall(x)  (x).rbegin(), (x).rend()

using namespace std;

typedef long long ll;

ll linf = 1e15+1;

inline void scoobydoobydoo(){
    ios::sync_with_stdio(false);
    ios_base::sync_with_stdio(false);
    cin.tie(NULL); cout.tie(NULL);
}

using namespace __gnu_pbds;

template<class T>
using Tree = tree<T, null_type, less<T>, rb_tree_tag,
    tree_order_statistics_node_update>;

int main(){
    scoobydoobydoo();
    int n, m; cin >> n >> m;
    Tree<pair<int, int> > s; // %3 0 -> x, 1 -> y, 2 -> z

    for (int i = 0; i < n; i++){
        char c; cin >> c;
        if (c == 'x')s.insert({i, 0});
        else if (c == 'y')s.insert({i, 1});
        else s.insert({i, 2});
    }


    for (int i = 0; i < m; i++){
        char c; cin >> c;
        if (c == 'a'){
            int x, y; cin >> x >> y;
            x--; y--;
            auto it = s.find_by_order(x);
            int sec = (*it).second;
            s.erase(it);
            s.insert({y, sec+3});
        } else {
            int x; cin >> x;
            x--;
            auto it = s.find_by_order(x);
            int sec = (*it).second%3;
            if (sec == 0){
                cout << 'x' << endl;
            } else if (sec == 1){
                cout << 'y' << endl;
            } else {
                cout << 'z' << endl;
            }
        }
    }




    return 0;
}
# 결과 실행 시간 메모리 Grader output
1 Incorrect 0 ms 348 KB Output isn't correct
2 Halted 0 ms 0 KB -