제출 #1220310

#제출 시각아이디문제언어결과실행 시간메모리
1220310MateiKing80Naval battle (CEOI24_battle)C++20
30 / 100
332 ms26212 KiB
#include <bits/stdc++.h>

using namespace std;

const int N = 2e5 + 5;

using pii = pair<int, int>;
#define fr first
#define sc second

int n;
array<int, N> x, y;
array<char, N> dr;
map<int, vector<pii>> dgn;

signed main() {
	cin >> n;
	for (int i = 1; i <= n; i ++) 
		cin >> x[i] >> y[i] >> dr[i];

	for (int i = 1; i <= n; i ++)
		dgn[x[i] + y[i]].push_back({x[i], i});
	
	for (auto &x : dgn) 
		sort(x.sc.begin(), x.sc.end());
	vector<int> ans;
	for (pair<int, vector<pii>> x : dgn) {
		vector<pii> y;
		for (pii z : x.sc) {
			if (y.size() && dr[y.back().sc] == 'E' && dr[z.sc] == 'S')
				y.pop_back();
			else 
				y.push_back(z);
		}
		for (pii z : y) 
			ans.push_back(z.sc);
	}
	for (int i : ans) 
		cout << i << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...