# | 제출 시각 | 아이디 | 문제 | 언어 | 결과 | 실행 시간 | 메모리 |
---|---|---|---|---|---|---|---|
794953 | 2023-07-27T04:32:03 Z | vjudge1 | 식물 비교 (IOI20_plants) | C++17 | 1 ms | 212 KB |
#include "plants.h" #include <bits/stdc++.h> using namespace std; #define N 200100 #define n R.size() int pos[N], cnt; deque<int> R; int info[200100][3]; void init2(int k, vector<int> r) { R.resize(r.size()); iota(R.begin(), R.end(), 0); for(int i = 0; i < n; i++) if(r[R[0]] == r[R[n-1]]) R.push_back(R[0]),R.pop_front(), info[i][2] = 1; else break; info[R[0]][0] = 0; info[R[0]][1] = r[R[0]]; for(int i = 1; i < n; i++) { info[R[i]][1] = r[R[i]]; if(r[R[i]]!=r[R[i-1]]) { info[R[i]][0] = ++cnt; } else { info[R[i]][0] = info[R[i-1]][0]; } } return; } void init(int k, vector<int> r) { init2(k,r); } int compare_plants(int x, int y) { bool a = info[x][0] == info[y?y-1:n-1][0], b = info[x?x-1:n-1][0]==info[y][0]; if(!a&&!b) return 0; if(!a&&b) swap(x,y); int ans = (info[x][1]^info[x][2]^x>y); return ((!a&&b)^ans?1:-1); }
Compilation message
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | 결과 | 실행 시간 | 메모리 | Grader output |
---|---|---|---|---|
1 | Incorrect | 0 ms | 212 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |