Submission #696282

#TimeUsernameProblemLanguageResultExecution timeMemory
696282ld_minh4354Team Contest (JOI22_team)C++17
0 / 100
38 ms9560 KiB
#include<bits/stdc++.h> using namespace std; #define int long long #define fi first #define se second #define pb push_back signed main() { ios_base::sync_with_stdio(false);cin.tie(0);cout.tie(0); // freopen("input.000","r",stdin); // freopen("output.000","w",stdout); // srand((unsigned)time(NULL)); // rand() static int n,i,max_x[150005],max_y[150005],max_x_global,max_y_global,cur_num,cur_id,j,ans; static pair<pair<int,int>,int> x[150005]; static pair<int,pair<int,int>> y[150005]; cin>>n; for (i=1;i<n+1;i++) cin>>x[i].fi.fi>>x[i].fi.se>>x[i].se; sort(x+1,x+n+1); max_x[0]=max_y[0]=0; for (i=1;i<n+1;i++) { max_x[i]=max(max_x[i-1], x[i].fi.fi); max_y[i]=max(max_y[i-1], x[i].fi.se); } while (max_x[n]==x[n].fi.fi and max_y[n]==x[n].fi.se and n>0) n--; if (n<3) { cout<<-1;return 0; } for (i=1;i<n+1;i++) y[i]={x[i].se,{x[i].fi.fi, x[i].fi.se}}; sort(y+1,y+n+1); // for (i=1;i<n+1;i++) cout<<y[i].fi<<y[i].se.fi<<y[i].se.se<<"\n"; max_x_global=max_y_global=0; cur_num=y[1].fi; cur_id=1; ans=-1; for (i=1;i<n+1;i++) { if (cur_num < y[i].fi) { for (j=cur_id; j<i; j++) { max_x_global=max(max_x_global,y[j].se.fi); max_y_global=max(max_y_global,y[j].se.se); } cur_id=i; cur_num=y[i].fi; } if (y[i].se.fi < max_x_global and y[i].se.se < max_y_global) ans=max(ans,y[i].fi + max_x_global + max_y_global); } cout<<ans; }
#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...