Submission #1137584

#TimeUsernameProblemLanguageResultExecution timeMemory
1137584hashimaliNaval battle (CEOI24_battle)C++20
30 / 100
326 ms25280 KiB
#include <bits/stdc++.h> #define endl '\n' #define ld long double #define pb push_back #define pf push_front #define mod 1000000007 #define se second #define fi first #define all(ls) (ls).begin(),(ls).end() #define int long long using namespace std; bool comp(pair<pair<int,int>,char>a,pair<pair<int,int>,char>b){ return a.fi.fi<b.fi.fi; } void solve(){ int n; cin>>n; map<int,vector<pair<pair<int,int>,char>>>m; for(int i=0;i<n;i++){ int x,y;char d; cin>>x>>y>>d; m[x+y].pb({{x,i},d}); } for(auto i:m){ vector<pair<pair<int,int>,char>>tmp=i.se; sort(all(tmp),comp); m[i.fi]=tmp; } vector<int>fin; for(auto i:m){ vector<int>ans,ans2; vector<pair<pair<int,int>,char>>tmp=i.se; for(pair<pair<int,int>,char>j:tmp){ if(j.se!='S') ans.pb(j.fi.se); else if(ans.size()) ans.pop_back(); else ans2.pb(j.fi.se); } for(int j:ans) fin.pb(j); for(int j:ans2) fin.pb(j); } for(int i:fin) cout<<i+1<<" "; cout<<endl; } signed main(){ ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); int t=1; // cin>>t; for(int i=1;i<=t;i++){ // cout<<"Scenario #"<<i<<":"<<" "; 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...