#include<bits/stdc++.h>
#define taskname "B"
using namespace std;
int main(){
ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
if(fopen(taskname".inp", "r")){
freopen(taskname".inp", "r", stdin);
}
int n;
cin >> n;
vector<int>x(n), y(n), z(n), px(n), py(n), pz(n);
for(int i = 0; i < n; i++){
cin >> x[px[i] = py[i] = pz[i] = i] >> y[i] >> z[i];
}
sort(px.begin(), px.end(), [&] (int i, int j){
return x[i] < x[j];
});
sort(py.begin(), py.end(), [&] (int i, int j){
return y[i] < y[j];
});
sort(pz.begin(), pz.end(), [&] (int i, int j){
return z[i] < z[j];
});
vector<bool>c(n + 1, false);
int ix = n - 1, iy = n - 1, iz = n - 1;
while(ix != -1 && iy != -1 && iz != -1){
int X = px[ix], Y = py[iy], Z = pz[iz];
if(y[X] == y[Y] || z[X] == z[Z]){
c[X] = true;
ix--;
}
if(x[Y] == x[X] || z[Y] == z[Z]){
c[Y] = true;
iy--;
}
if(x[Z] == x[X] || y[Z] == y[Y]){
c[Z] = true;
iz--;
}
if(!c[X] && !c[Y] && !c[Z]){
return cout << x[X] + y[Y] + z[Z], 0;
}
while(ix > -1 && c[px[ix]]){
ix--;
}
while(iy > -1 && c[py[iy]]){
iy--;
}
while(iz > -1 && c[pz[iz]]){
iz--;
}
}
cout << -1;
}
Compilation message (stderr)
team.cpp: In function 'int main()':
team.cpp:7:24: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
7 | freopen(taskname".inp", "r", stdin);
| ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
# | 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... |