This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
/**
* author: wxhtzdy
* created: 08.06.2022 07:38:42
**/
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
int n;
cin >> n;
vector<vector<int>> a(n, vector<int>(3));
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
cin >> a[i][j];
}
}
vector<int> ids;
for (int s = 1; s < 8; s++) {
vector<int> v(n);
for (int i = 0; i < n; i++) {
for (int j = 0; j < 3; j++) {
if (s >> j & 1) {
v[i] += a[i][j];
}
}
}
vector<int> order(n);
iota(order.begin(), order.end(), 0);
sort(order.begin(), order.end(), [&](int i, int j) {
return v[i] > v[j];
});
for (int j = 0; j < min(n, 50); j++) {
ids.push_back(order[j]);
}
}
sort(ids.begin(), ids.end());
ids.erase(unique(ids.begin(), ids.end()), ids.end());
int ans = -1;
for (int ii = 0; ii < ids.size(); ii++) {
for (int jj = 0; jj < ids.size(); jj++) {
for (int zz = 0; zz < ids.size(); zz++) {
int i = ids[ii];
int j = ids[jj];
int z = ids[zz];
if (i == j || i == z || j == z) {
continue;
}
if (a[i][0] > max(a[j][0], a[z][0]) && a[j][1] > max(a[i][1], a[z][1]) && a[z][2] > max(a[i][2], a[j][2])) {
ans = max(ans, a[i][0] + a[j][1] + a[z][2]);
}
}
}
}
cout << ans << '\n';
return 0;
}
Compilation message (stderr)
team.cpp: In function 'int main()':
team.cpp:42:23: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
42 | for (int ii = 0; ii < ids.size(); ii++) {
| ~~~^~~~~~~~~~~~
team.cpp:43:25: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
43 | for (int jj = 0; jj < ids.size(); jj++) {
| ~~~^~~~~~~~~~~~
team.cpp:44:27: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
44 | for (int zz = 0; zz < ids.size(); zz++) {
| ~~~^~~~~~~~~~~~
# | 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... |