Submission #698034

#TimeUsernameProblemLanguageResultExecution timeMemory
698034safaricolaTeam Contest (JOI22_team)C++17
100 / 100
198 ms9556 KiB
#include <bits/stdc++.h> using namespace std; constexpr int inf = 1000000010; #define rep(i,n) for (int i = 0; i < n; i++) #define f first #define s second typedef pair<int,int> ii; typedef pair<int,ii> pp; ii x[150010],y[150010],z[150010]; int n,a[150010][3],xi,yi,zi; int main(){ cin>>n; rep(i,n){ cin>>x[i].f>>y[i].f>>z[i].f; x[i].s=y[i].s=z[i].s=i; a[i][0]=x[i].f;a[i][1]=y[i].f; a[i][2]=z[i].f; } sort(x,x+n,greater<ii>()); sort(y,y+n,greater<ii>()); sort(z,z+n,greater<ii>()); bool flag=true; while(flag){ int Z=z[zi].f, Y=y[yi].f, X=x[xi].f; if(a[x[xi].s][1]>=Y||a[x[xi].s][2]>=Z){ xi++; if(xi>=n){ cout<<-1; return 0; } continue; } if(a[y[yi].s][0]>=X||a[y[yi].s][2]>=Z){ yi++; if(yi>=n){ cout<<-1; return 0; } continue; } if(a[z[zi].s][1]>=Y||a[z[zi].s][0]>=X){ zi++; if(zi>=n){ cout<<-1; return 0; } continue; } flag=false; } cout<<z[zi].f+y[yi].f+x[xi].f; }
#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...