Submission #1071654

#TimeUsernameProblemLanguageResultExecution timeMemory
1071654IgnutComparing Plants (IOI20_plants)C++17
5 / 100
52 ms7496 KiB
// Ignut #include <bits/stdc++.h> using namespace std; using ll = long long; int n, k; vector<int> r; vector<int> cntInRow; void init(int K, vector<int> R) { n = R.size(); k = K; r = R; for (int val : R) r.push_back(val); cntInRow.resize(2 * n); cntInRow[2 * n - 1] = 1; for (int i = 2 * n - 2; i >= 0; i --) cntInRow[i] = (r[i] == r[i + 1] ? cntInRow[i + 1] + 1 : 1); } int compare_plants(int x, int y) { if (k == 2) { if (x + cntInRow[x] >= y) return r[x] == 1 ? -1 : 1; if (y + cntInRow[y] - n >= x) return r[y] == 1 ? 1 : -1; return 0; } if (x + k - 1 >= y) { if (r[y] - r[x] >= y - x) return 1; if (r[x] - r[y] >= y - x) return -1; } if (y + k - 1 - n >= x) { if (r[x] - r[y] >= x + n - y) return -1; if (r[y] - r[x] >= x + n - y) return 1; } return 0; }
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...