이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <iostream>
#include <algorithm>
using namespace std;
struct Player {
long long a;
int ind;
bool friend operator < (Player x, Player y) {
return x.a<y.a;
}
};
const int MAXN=1e5+5e4+10;
Player x[MAXN], y[MAXN], z[MAXN];
bool used[MAXN];
int main () {
int n;
cin >> n;
for (int i=0;i<n;i++) {
cin >> x[i].a >> y[i].a >> z[i].a;
x[i].ind=y[i].ind=z[i].ind=i;
}
sort(x,x+n);
sort(y,y+n);
sort(z,z+n);
int ix, iy, iz;
ix=iy=iz=n-1;
while (ix>=0 && iy>=0 && iz>=0) {
if (used[x[ix].ind]) {
ix--;
continue;
}
if (used[y[iy].ind]) {
iy--;
continue;
}
if (used[z[iz].ind]) {
iz--;
continue;
}
if (x[ix].ind==y[iy].ind || x[ix].ind==z[iz].ind) {
used[x[ix].ind]=true;
ix--;
continue;
}
if (y[iy].ind==z[iz].ind) {
used[y[iy].ind]=true;
iy--;
continue;
}
cout << x[ix].a+y[iy].a+z[iz].a << endl;
return 0;
}
cout << -1 << endl;
}
# | 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... |