제출 #919539

#제출 시각아이디문제언어결과실행 시간메모리
919539Gwynbleidd_Team Contest (JOI22_team)C++14
0 / 100
75 ms9296 KiB
#include <bits/stdc++.h>

using namespace std;

int main() {
    int n;
    cin >> n;
    vector<vector<int>> a(n, vector<int>(3));
    for (auto &x : a) {
        for (auto &y : x) {
            cin >> y;
        }
    }
    sort(a.begin(), a.end());
    set<pair<int, int>> arr;
    int ans = -1;
    for (int i = 0; i < n; i++) {
        set<pair<int, int>> brr;
        for (auto itr = arr.begin(); itr != arr.end(); itr++) {
            if (brr.size() && brr.rbegin()->first > itr->second &&
                brr.rbegin()->first > a[i][2]) {
                ans = max(ans, a[i][0] + itr->first + brr.rbegin()->first);
            }
            brr.insert({itr->second, itr->first});
            while (itr != arr.end()) {
                auto jtr = itr;
                jtr++;
                if (jtr != arr.end() && jtr->first == itr->first) {
                    itr = jtr;
                    brr.insert({itr->second, itr->first});
                } else {
                    break;
                }
            }
        }
        arr.insert({a[i][1], a[i][2]});
        while (i < n - 1 && a[i + 1][0] == a[i][0]) {
            i++;
            arr.insert({a[i][1], a[i][2]});
        }
    }
    cout << ans << "\n";
}
#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...