Submission #1137533

#TimeUsernameProblemLanguageResultExecution timeMemory
1137533RafiullahNaval battle (CEOI24_battle)C++20
30 / 100
164 ms25280 KiB
#include <bits/stdc++.h> 
#include <ext/pb_ds/assoc_container.hpp>
#include <ext/pb_ds/tree_policy.hpp>

using namespace std; 
using namespace __gnu_pbds;

#define int long long
           
void solve() {
    int n;
    cin >> n;
    map<int,vector<tuple<int,bool,int>>> R;
    for (int i = 0; i < n; i++) {
        int x, y;
        char d;
        cin >> x >> y >> d;
        R[x + y].push_back({x,(d == 'S'),i +1});
    }
    vector<int> ans;
    for (auto [sum, v] : R) {
        vector<int> c;
        sort(v.begin(),v.end());
        for (auto [x, ty, ind] : v) 
            if (ty == 0)c.push_back(ind);
            else 
                if (c.empty())
                    ans.push_back(ind);
                else c.pop_back();
        for (int i : c) ans.push_back(i);
    }
    for (int i : ans) cout << i << '\n';
    cout << '\n';
}

signed main() {
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);cout.tie(nullptr);

    int t = 1;
    //cin >> t;
    while(t--){
        solve();
    }
}
#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...