Submission #1344335

#TimeUsernameProblemLanguageResultExecution timeMemory
1344335thelegendary08Naval battle (CEOI24_battle)C++17
30 / 100
314 ms23648 KiB
#include<bits/stdc++.h>
#define int long long
#define f0r(i,n) for(int i = 0; i < n; i++)
#define FOR(i,k,n) for(int i = k; i < n; i++)
#define pb push_back
#define mp make_pair
#define eb emplace_back
#define F first
#define S second
#define vi vector<int>
#define pii pair<int,int>
#define dout(x) cout<<x<<' '<<#x<<endl
#define dout2(x,y) cout<<x<<' '<<#x<<' '<<y<<' '<<#y<<endl
#define vout(v) cout<<#v<<": "; for(auto u : v)cout<<u<<' '; cout<<endl
using namespace std; 
signed main(){
	int n; cin>>n; map<int,vector<pair<pii,int>>>m; f0r(i,n){int x, y; cin>>x>>y; char c; cin>>c; m[x+y].pb(mp(mp(y,(c=='S')), i));}
	vector<bool> vis(n); for(auto [a,b] : m){
		sort(b.begin(),b.end()); vi g; for(auto [A,d] : b){
			auto [x,y] = A; 
			if(y==1)g.pb(d); else{
				if(!g.empty())vis[g.back()]=1,vis[d]=1,g.pop_back(); 
			}
		}
	} f0r(i,n)if(!vis[i])cout<<i+1<<' '; 
}
#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...