제출 #851303

#제출 시각아이디문제언어결과실행 시간메모리
851303niterTeam Contest (JOI22_team)C++14
100 / 100
369 ms27220 KiB
#include <bits/stdc++.h>
#define loop(i,a,b) for(int i=a;i<b;i++)
#define pii pair<int,int>
#define pb push_back
#define ins insert
#define ff first
#define ss second
#define opa(x) cout << #x << " = " << x << ", ";
#define op(x) cout << #x << " = " << x << endl;
#define ops(x) cout << x;
#define entr cout << endl;
#define spac cout << ' ';
#define all(x) (x).begin(), (x).end()
#define STL(x) cout << #x << " : "; for(auto &qwe:x) cout << qwe << ' '; cout << endl;
#define deb1 cout << "deb1" << endl;
#define deb2 cout << "deb2" << endl;
#define deb3 cout << "deb3" << endl;
#define deb4 cout << "deb4" << endl;
#define deb5 cout << "deb5" << endl;
using namespace std;

const int mxn = 150010;
int a[mxn], b[mxn], c[mxn];
multiset<pii, greater<pii>> a_srt, b_srt, c_srt;

int main(){
    ios::sync_with_stdio(false); cin.tie(0);
//    freopen("test_input.txt", "r", stdin);
    int n; cin >> n;
    loop(i,0,n){
        int ina, inb, inc;
        cin >> ina >> inb >> inc;
        a[i] = ina;
        b[i] = inb;
        c[i] = inc;
        a_srt.insert({ina, i});
        b_srt.insert({inb, i});
        c_srt.insert({inc, i});
    }
    auto remov = [&](int ind){
        a_srt.erase({a[ind], ind});
        b_srt.erase({b[ind], ind});
        c_srt.erase({c[ind], ind});
    };
    loop(i,0,n){
        int now = a_srt.begin()->ss;
        if(b[now] == b_srt.begin()->ff || c[now] == c_srt.begin()->ff){
            remov(now);
            continue;
        }
        now = b_srt.begin()->ss;
        if(a[now] == a_srt.begin()->ff || c[now] == c_srt.begin()->ff){
            remov(now);
            continue;
        }
        now = c_srt.begin()->ss;
        if(a[now] == a_srt.begin()->ff || b[now] == b_srt.begin()->ff){
            remov(now);
            continue;
        }
        cout << a_srt.begin()->ff + b_srt.begin()->ff + c_srt.begin()->ff << '\n';
        return 0;
    }
    cout << "-1\n";
    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...