Submission #921124

#TimeUsernameProblemLanguageResultExecution timeMemory
921124alexddTeam Contest (JOI22_team)C++17
100 / 100
521 ms27248 KiB
#include<bits/stdc++.h> using namespace std; int n; int a[3][150005]; set<pair<int,int>> s[3]; void baga(int x) { for(int i=0;i<3;i++) s[i].insert({a[i][x],x}); } void scoate(int x) { for(int i=0;i<3;i++) s[i].erase({a[i][x],x}); } int getmax(int x) { return (*prev(s[x].end())).second; } signed main() { cin>>n; for(int i=1;i<=n;i++) { cin>>a[0][i]>>a[1][i]>>a[2][i]; baga(i); } while(!s[0].empty()) { int m[3] = {getmax(0),getmax(1),getmax(2)}; if(a[1][m[0]] == a[1][m[1]]) scoate(m[0]); else if(a[2][m[0]] == a[2][m[2]]) scoate(m[0]); else if(a[0][m[1]] == a[0][m[0]]) scoate(m[1]); else if(a[2][m[1]] == a[2][m[2]]) scoate(m[1]); else if(a[0][m[2]] == a[0][m[0]]) scoate(m[2]); else if(a[1][m[2]] == a[1][m[1]]) scoate(m[2]); else { cout<<a[0][m[0]]+a[1][m[1]]+a[2][m[2]]; return 0; } } cout<<-1; return 0; } /** */
#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...