#include<bits/stdc++.h>
#define int long long
using namespace std;
int32_t main()
{
ios_base::sync_with_stdio(false);
cin.tie(nullptr);
int n;
cin >> n;
// 0 = E // 1 = S // 2 = W // 3 = N
vector<array<int,5>> a(n);
vector<int> vis(n,0);
for(int i=0;i<n;i++)
{
cin >> a[i][2] >> a[i][1];
a[i][0] = a[i][1]+a[i][2];
char c;
cin >> c;
if(c=='E') a[i][3] = 0;
else a[i][3] = 1;
a[i][4] = i;
}
sort(a.begin(),a.end());
vector<int> ol(n,0);
vector<array<int,2>> cur;
for(int i=0;i<n;i++)
{
if(i>0 && a[i][0]!=a[i-1][0])
{
//cout << a[i][0] << " "<< a[i-1][0] << endl;
vector<int> ac;
for(auto k:cur)
{
//cout << k[0] <<" "<< k[1] << endl;
if(k[0]==1) ac.push_back(k[1]);
else
{
if(ac.size())
{
int c = ac.back();
ac.pop_back();
ol[c] = ol[k[1]] = 1;
}
}
}
cur.clear();
}
cur.push_back({a[i][3],a[i][4]});
}
for(int i=0;i<n;i++)
{
if(ol[i]==0) cout << i+1 << 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... |