This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include <bits/stdc++.h>
using namespace std;
#define fi first
#define se second
#define ll long long
#define file(name) \
if(fopen(name".inp", "r")) \
freopen(name".inp", "r", stdin), freopen(name".out", "w", stdout);
const int MAX = 1.5e5 + 5;
int n, a[MAX][3];
pair <int, int> p[3][MAX];
void you_make_it(void) {
cin >> n;
for (int i = 1; i <= n; ++i) {
for (int j = 0; j < 3; ++j) {
cin >> a[i][j];
p[j][i] = make_pair(a[i][j], i);
}
}
for (int i = 0; i < 3; ++i) {
sort(p[i] + 1, p[i] + n + 1, greater <pair <int, int>> ());
}
int pa = 1, pb = 1, pc = 1;
while(pa <= n && pb <= n && pc <= n) {
int x = p[0][pa].se, y = p[1][pb].se, z = p[2][pc].se;
if(a[x][1] >= a[y][1] || a[x][2] >= a[z][2]) {
pa++;
continue;
}
if(a[y][0] >= a[x][0] || a[y][2] >= a[z][2]) {
pb++;
continue;
}
if(a[z][0] >= a[x][0] || a[z][1] >= a[y][1]) {
pc++;
continue;
}
cout << p[0][pa].fi + p[1][pb].fi + p[2][pc].fi << '\n';
return;
}
cout << "-1\n";
}
signed main() {
#ifdef LOCAL
freopen("TASK.inp", "r", stdin);
freopen("TASK.out", "w", stdout);
#endif
auto start_time = chrono::steady_clock::now();
cin.tie(0), cout.tie(0) -> sync_with_stdio(0);
you_make_it();
auto end_time = chrono::steady_clock::now();
cerr << "\nExecution time : " << chrono::duration_cast <chrono::milliseconds> (end_time - start_time).count() << "[ms]" << endl;
return (0 ^ 0);
}
// Dream it. Wish it. Do it.
# | 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... |