Submission #591881

#TimeUsernameProblemLanguageResultExecution timeMemory
591881Cross_RatioTeam Contest (JOI22_team)C++14
100 / 100
172 ms12308 KiB
#include <bits/stdc++.h> #define int long long using namespace std; typedef tuple<int,int,int> T; typedef pair<int,int> P; int A[150005][3]; signed main() { cin.sync_with_stdio(false); cin.tie(0); cout.tie(0); int N; cin >> N; int i, j; for(i=0;i<N;i++) { for(j=0;j<3;j++) cin >> A[i][j]; } priority_queue<P> Q[3]; for(i=0;i<N;i++) { for(j=0;j<3;j++) Q[j].push(P(A[i][j],i)); } int x[3]; for(i=0;i<3;i++) { x[i] = Q[i].top().second; Q[i].pop(); } while(!Q[0].empty()||!Q[1].empty()||!Q[2].empty()) { bool isChange = false; for(i=0;i<3;i++) { bool isWrong = false; for(j=0;j<3;j++) { if(i==j) continue; if(A[x[i]][j]>=A[x[j]][j]) isWrong = true; } if(isWrong) { if(!Q[i].empty()) { x[i] = Q[i].top().second; Q[i].pop(); break; } isChange = true; } } //cout <<x[0] << ' ' << x[1] << ' ' << x[2] << '\n'; bool isCan = true; for(i=0;i<3;i++) { for(j=0;j<3;j++) { if(i==j) continue; if(A[x[i]][j]>=A[x[j]][j]) isCan = false; } } if(isCan) { int ans = 0; for(i=0;i<3;i++) ans += A[x[i]][i]; cout << ans; return 0; } } cout << -1; }

Compilation message (stderr)

team.cpp: In function 'int main()':
team.cpp:27:14: warning: variable 'isChange' set but not used [-Wunused-but-set-variable]
   27 |         bool isChange = false;
      |              ^~~~~~~~
#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...