Submission #1227638

#TimeUsernameProblemLanguageResultExecution timeMemory
1227638SpyrosAlivNaval battle (CEOI24_battle)C++20
30 / 100
255 ms148908 KiB
#include <bits/stdc++.h> using namespace std; #define ll long long const int INF = 1e9; int main() { ios_base::sync_with_stdio(0); cin.tie(0); int n; cin >> n; vector<tuple<int, int, int, int>> arr(n); for (int i = 0; i < n; i++) { int x, y; cin >> x >> y; y = INF - y; char dir; cin >> dir; arr[i] = {y, x, dir, i}; assert(dir == 'S' || dir == 'E'); } map<int, stack<int>> hmap; vector<bool> collide(n, false); sort(arr.rbegin(), arr.rend()); for (auto [y, x, d, i]: arr) { int line = x - y; if (d == 'S') { hmap[line].push(i); } else { if (hmap[line].empty()) continue; collide[i] = true; collide[hmap[line].top()] = true; hmap[line].pop(); } } for (int i = 0; i < n; i++) { if (!collide[i]) cout << i+1 << "\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...