| # | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
|---|---|---|---|---|---|---|---|
| 563552 | clarence | Team Contest (JOI22_team) | C++17 | 122 ms | 7604 KiB |
이 제출은 이전 버전의 oj.uz에서 채점하였습니다. 현재는 제출 당시와는 다른 서버에서 채점을 하기 때문에, 다시 제출하면 결과가 달라질 수도 있습니다.
#include <cstdio>
#include <algorithm>
using namespace std;
int N;
int X[150010];
int Y[150010];
int Z[150010];
int SX[150010];
int SY[150010];
int SZ[150010];
bool cmpX(int a, int b) {
return X[a]<X[b];
}
bool cmpY(int a, int b) {
return Y[a]<Y[b];
}
bool cmpZ(int a, int b) {
return Z[a]<Z[b];
}
int main(void) {
scanf("%d", &N);
for (int i=0;i<N;i++) {
scanf("%d%d%d", &X[i], &Y[i], &Z[i]);
SX[i] = SY[i] = SZ[i] = i;
}
sort(SX, SX+N, cmpX);
sort(SY, SY+N, cmpY);
sort(SZ, SZ+N, cmpZ);
int curX = N-1;
int curY = N-1;
int curZ = N-1;
while (curX >= 0 && curY >= 0 && curZ >= 0) {
int x = SX[curX];
int y = SY[curY];
int z = SZ[curZ];
if (X[y] >= X[x]) { curY--; continue; }
if (X[z] >= X[x]) { curZ--; continue; }
if (Y[x] >= Y[y]) { curX--; continue; }
if (Y[z] >= Y[y]) { curZ--; continue; }
if (Z[x] >= Z[z]) { curX--; continue; }
if (Z[y] >= Z[z]) { curY--; continue; }
printf("%d\n", X[x]+Y[y]+Z[z]);
return 0;
}
printf("-1\n");
return 0;
}
컴파일 시 표준 에러 (stderr) 메시지
| # | 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... | ||||
