Submission #258627

#TimeUsernameProblemLanguageResultExecution timeMemory
258627dolphingarlicTram (CEOI13_tram)C++14
0 / 100
1096 ms492 KiB
#include <bits/stdc++.h>
typedef long long ll;
using namespace std;

int cnt = 0;
pair<int, int> pos[100001];
set<pair<int, int>> active;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    int n, m;
    cin >> n >> m;
    while (m--) {
        char c;
        cin >> c;
        if (c == 'E') {
            cnt++;
            if (!active.size()) pos[cnt] = {1, 1};
            else {
                pair<double, pair<int, int>> best = {0, {0, 0}};
                for (int i = 1; i <= n; i++) {
                    for (int j = 1; j < 3; j++) {
                        double dist = 1e18;
                        for (pair<int, int> k : active) {
                            dist = min(dist, hypot(k.first - i, k.second - j));
                        }
                        if (dist > best.first) best = {dist, {i, j}};
                    }
                }
                pos[cnt] = best.second;
            }
            active.insert(pos[cnt]);
            cout << pos[cnt].first << ' ' << pos[cnt].second << '\n';
        } else {
            int i;
            cin >> i;
            active.erase(pos[i]);
        }
    }
    return 0;
}
#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...