#include <bits/stdc++.h>
#define nemeshay ios_base::sync_with_stdio(NULL), cin.tie(0), cout.tie(0);
#define int long long
#define sigma signed
#define pb push_back
#define pii pair<int, int>
#define fr first
#define sc second
using namespace std;
const int N = 2e5 + 2, inf = 1e18 + 7;
pair<pii, char> a[N];
bool sigmapon(pair<pii, char> x, pair<pii, char> y) {
return x.fr.fr < y.fr.fr;
}
sigma main() {
int n;
cin >> n;
set <int> ans;
for (int i = 1; i <= n; i++) cin >> a[i].fr.fr >> a[i].fr.sc >> a[i].sc;
sort(a + 1, a + n + 1, sigmapon);
map <int, vector<int>> pon;
for (int i = 1; i <= n; i++) ans.insert(i), pon[a[i].fr.fr + a[i].fr.sc].pb(i);
for (auto j: pon) {
vector <int> ok;
for (auto i: j.sc) {
if (ok.size() && a[i].sc == 'S' && a[ok.back()].sc == 'E') ans.erase(ok.back()), ans.erase(i), ok.pop_back();
else ok.pb(i);
}
}
for (auto j: ans) cout << j << endl;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |