이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include<bits/stdc++.h>
using namespace std;
const int N=150005;
int n;
int a[N][3];
pair<int,int> b[3][N];
int id[3];
int main(){
    cin.tie(nullptr)->sync_with_stdio(false);
    cin >> n;
    for(int i=0;i<n;i++){
        for(int j=0;j<3;j++){
            cin >> a[i][j];
            b[j][i]={a[i][j],i};
        }
    }
    for(int i=0;i<3;i++)sort(b[i],b[i]+n,greater<pair<int,int>>());
    while(id[0]<n&&id[1]<n&&id[2]<n){
        bool ok=true;
        for(int i=0,j=1,k=2;i<3;i++,j++,k++){
            if(j==3)j=0;
            if(k==3)k=0;
            int x=b[i][id[i]].second,y=b[j][id[j]].second,z=b[k][id[k]].second;
            if(a[x][j]>=a[y][j]||a[x][k]>=a[z][k]){
                id[i]++;
                ok=false;
                break;
            }
        }
        if(ok)cout << b[0][id[0]].first+b[0][id[1]].first+b[0][id[2]].first,exit(0);
    }
    cout << -1;
}
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... | 
| # | Verdict | Execution time | Memory | Grader output | 
|---|
| Fetching results... |