Submission #1183020

#TimeUsernameProblemLanguageResultExecution timeMemory
1183020gygNaval battle (CEOI24_battle)C++20
30 / 100
226 ms28600 KiB
#include <bits/stdc++.h> using namespace std; #define int long long #define arr array #define vec vector #define pii pair<int, int> #define fir first #define sec second const int N = 2e5 + 5; int n; arr<int, N> x, y; arr<char, N> dr; map<int, vec<pii>> dgn; void dgn_cmp() { for (int i = 1; i <= n; i++) { dgn[x[i] + y[i]].push_back({x[i], i}); } for (auto &x : dgn) { sort(x.sec.begin(), x.sec.end()); } // for (pair<int, vec<pii>> x : dgn) { // cout << x.fir << ": "; // for (pii z : x.sec) cout << z.sec << " "; // cout << '\n'; // } } void ans_cmp() { vec<int> ans; for (pair<int, vec<pii>> x : dgn) { vec<pii> y; for (pii z : x.sec) { if (y.size() && dr[y.back().sec] == 'E' && dr[z.sec] == 'S') y.pop_back(); else y.push_back(z); } for (pii z : y) ans.push_back(z.sec); } for (int i : ans) cout << i << '\n'; } signed main() { // freopen("in", "r", stdin); cin >> n; for (int i = 1; i <= n; i++) cin >> x[i] >> y[i] >> dr[i]; dgn_cmp(); ans_cmp(); }
#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...