Submission #1237285

#TimeUsernameProblemLanguageResultExecution timeMemory
1237285GrayNaval battle (CEOI24_battle)C++20
30 / 100
206 ms28244 KiB
#include<bits/stdc++.h>

#define ll long long
#define ff first
#define ss second
#define ln "\n"

using namespace std;
const ll INF = 2e18;

void solve(){
    ll n; cin >> n;
    vector<array<ll, 3>> a(n);
    map<ll, vector<array<ll, 3>>> arr;

    for (ll i=0; i<n; i++){
        cin >> a[i][0] >> a[i][1];
        char x; cin >> x; 
        if (x=='E') arr[a[i][0]+a[i][1]].push_back({a[i][0], i, 0});
        else arr[a[i][0]+a[i][1]].push_back({a[i][0], i, 1});
    }
    for (auto &[_, ar]:arr){
        sort(ar.begin(), ar.end());
        vector<ll> st;
        for (auto [x, ind, typ]:ar){
            if (typ==0){
                st.push_back(ind);
            }else{
                if(st.empty()) cout << ind+1 << ln;
                else st.pop_back();
            }
        }
        for (auto ax:st) cout << ax+1 << ln;
    }

}

int main(){
    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    ll 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...