Files
contests/misc/hsg-hp-2025/cbai4.cpp

57 lines
970 B
C++

#include <bits/stdc++.h>
using namespace std;
void solve() {
vector<deque<int>> char_pos(26);
int n, q;
string S;
cin >> n >> q >> S;
vector<int> is_exist(n, 1);
set<int> exist_char;
// O(n)
for (int i = 0; i < n; i++) {
char_pos[S[i] - 'A'].push_back(i);
}
// O(1)
for (int i = 0; i < 26; i++)
if (!char_pos[i].empty())
exist_char.insert(i);
while (q--) {
if (exist_char.empty())
break;
int t;
cin >> t;
int target_char;
if (t == 0)
target_char = *exist_char.begin();
else
target_char = *exist_char.rbegin();
int target_idx = char_pos[target_char].front();
char_pos[target_char].pop_front();
is_exist[target_idx] = 0;
if (char_pos[target_char].empty())
exist_char.erase(target_char);
}
for (int i = 0; i < n; i++)
if (is_exist[i])
cout << S[i];
cout << '\n';
}
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
solve();
}