Submission #1244336

#TimeUsernameProblemLanguageResultExecution timeMemory
1244336emad234Team Contest (JOI22_team)C++20
0 / 100
2094 ms328 KiB
#include "bits/stdc++.h" #define F first #define S second #define ll long long #define pii pair<ll,ll> const ll mxN = 3e5 + 5; const ll mod = 1e9 + 7; using namespace std; struct player{ ll x,y,z,id; }; bool cmpx(player a, player b){ return make_pair(a.x,a.id) < make_pair(b.x,b.id); } bool cmpy(player a, player b){ return make_pair(a.y,a.id) < make_pair(b.y,b.id); } bool cmpz(player a, player b){ return make_pair(a.z,a.id) < make_pair(b.z,b.id); } player calc(player a, player b,player c){ if(a.y >= b.y) return a; if(a.z >= c.z) return a; if(b.x >= a.x) return b; if(b.z >= c.z) return b; if(c.x >= a.x) return c; if(c.y >= b.y) return c; return {0,0,0,0}; } player a[mxN],b[mxN],c[mxN]; signed main(){ ll n; cin >>n; ll N; for(ll i = 1;i <= n;i++){ cin >>a[i].x>> a[i].y>> a[i].z; a[i].id = i; b[i] = c[i] = a[i]; // N = max({a[i].x,a[i].y,a[i].z,N}); } sort(a + 1,a + n + 1,cmpx); sort(b + 1,b + n + 1,cmpy); sort(c + 1,c + n + 1,cmpz); int i = n,j = n,k = n; while(i && j && k){ while(a[i].id == 0) i--; while(b[j].id == 0) j--; while(c[k].id == 0) k--; // cout<<"A "<<i<<": "<<a[i].x<<' '<<a[i].y<<' '<<a[i].z<<' '<<a[i].id<<'\n'; // cout<<"B "<<j<<": "<<b[j].x<<' '<<b[j].y<<' '<<b[j].z<<' '<<b[j].id<<'\n'; // cout<<"C "<<k<<": "<<c[k].x<<' '<<c[k].y<<' '<<c[k].z<<' '<<c[k].id<<'\n'; if(!i || !j || !k) break; auto x = calc(a[i],b[j],c[k]); if(x.id == 0){ cout<<a[i].x + b[j].y + c[k].z; return 0; } a[lower_bound(a + 1,a + n + 1,x,cmpx) - a] = {0,0,0,0}; b[lower_bound(b + 1,b + n + 1,x,cmpy) - b] = {0,0,0,0}; c[lower_bound(c + 1,c + n + 1,x,cmpz) - c] = {0,0,0,0}; } cout<<-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...