#include<bits/stdc++.h>
#define ll long long
#define ff first
#define ss second
#define ln "\n"
using namespace std;
const ll INF = 2e18;
void solve(){
ll n; cin >> n;
vector<array<ll, 3>> a(n);
map<ll, vector<array<ll, 3>>> arr;
for (ll i=0; i<n; i++){
cin >> a[i][0] >> a[i][1];
char x; cin >> x;
if (x=='E') arr[a[i][0]+a[i][1]].push_back({a[i][0], i, 0});
else arr[a[i][0]+a[i][1]].push_back({a[i][0], i, 1});
}
for (auto &[_, ar]:arr){
sort(ar.begin(), ar.end());
vector<ll> st;
for (auto [x, ind, typ]:ar){
if (typ==0){
st.push_back(ind);
}else{
if(st.empty()) cout << ind+1 << ln;
else st.pop_back();
}
}
for (auto ax:st) cout << ax+1 << ln;
}
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
ll t=1;
// cin >> t;
while (t--){
solve();
}
}
# | 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... |