# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
301013 | 2020-09-17T15:52:04 Z | luciocf | 식물 비교 (IOI20_plants) | C++14 | 84 ms | 3452 KB |
#include <bits/stdc++.h> #include "plants.h" using namespace std; const int maxn = 2e5+10; int n; int head[maxn]; int r[maxn]; void init(int k, vector<int> a) { n = a.size(); for (int i = 0; i < n; i++) r[i] = a[i]; head[0] = head[1] = 0; int at = r[0]; for (int i = 1; i < n-1; i++) { if (r[i] == at) head[i+1] = head[i]; else { head[i+1] = i; at = r[i]; } } } int compare_plants(int x, int y) { if (min(x, y) != 0 && max(x, y) != n-1) { if (x < y && head[y] > x) return 0; if (x > y && head[x] > y) return 0; if (x < y) { if (r[x] == 0) return 1; return -1; } else { if (r[y] == 0) return -1; return 1; } } if (x == 0) { if (head[n-1] <= y) { if (r[n-1] == 0 && r[y] == 0) return -1; if (r[n-1] == 1 && r[y] == 1) return 1; return 0; } else { if (head[y] > x) return 0; if (r[x] == 0) return 1; return -1; } } else if (y == 0) { if (head[n-1] <= x) { if (r[n-1] == 0 && r[x] == 0) return 1; if (r[n-1] == 1 && r[x] == 1) return -1; return 0; } else { if (head[x] > y) return 0; if (r[y] == 0) return -1; return 1; } } if (x == n-1) { if (head[y] <= 0) { if (r[n-1] == 0 && r[0] == 0) return 1; if (r[n-1] == 1 && r[0] == 1) return -1; return 0; } else { if (head[x] > y) return 0; if (r[y] == 0) return -1; return 1; } } else if (y == n-1) { if (head[x] <= 0) { if (r[n-1] == 0 && r[0] == 0) return -1; if (r[n-1] == 1 && r[0] == 1) return 1; return 0; } else { if (head[y] > x) return 0; if (r[x] == 0) return 1; return -1; } } }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Correct | 1 ms | 256 KB | Output is correct |
5 | Correct | 1 ms | 256 KB | Output is correct |
6 | Correct | 61 ms | 3192 KB | Output is correct |
7 | Incorrect | 84 ms | 3452 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Incorrect | 0 ms | 256 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Incorrect | 0 ms | 256 KB | Output isn't correct |
4 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 256 KB | Output is correct |
2 | Incorrect | 0 ms | 256 KB | Output isn't correct |
3 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 1 ms | 256 KB | Output is correct |
3 | Correct | 1 ms | 256 KB | Output is correct |
4 | Incorrect | 0 ms | 256 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 384 KB | Output is correct |
2 | Correct | 1 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Incorrect | 0 ms | 256 KB | Output isn't correct |
5 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Correct | 0 ms | 256 KB | Output is correct |
2 | Correct | 0 ms | 256 KB | Output is correct |
3 | Correct | 0 ms | 256 KB | Output is correct |
4 | Correct | 1 ms | 256 KB | Output is correct |
5 | Correct | 1 ms | 256 KB | Output is correct |
6 | Correct | 61 ms | 3192 KB | Output is correct |
7 | Incorrect | 84 ms | 3452 KB | Output isn't correct |
8 | Halted | 0 ms | 0 KB | - |