| # | Time | Username | Problem | Language | Result | Execution time | Memory |
|---|---|---|---|---|---|---|---|
| 386983 | rainboy | Painting Walls (APIO20_paint) | C++17 | 0 ms | 0 KiB |
This submission is migrated from previous version of oj.uz, which used different machine for grading. This submission may have different result if resubmitted.
#include "paint.h"
#include <vector>
const int N = 100000, K = 100000;
int minimumInstructions(int n, int m, int k, std::vector<int> aa, std::vector<int> kk, std::vector<std::vector<int>> aaa) {
static int jj[K];
int h, i, i_, j, ans;
memset(jj, -1, m * sizeof *jj);
for (j = 0; j < m; j++)
for (h = 0; h < kk[j]; h++)
jj[aaa[j][h]] = j;
for (i = 0; i < n; i++)
if (jj[aa[i]] == -1)
return 0;
ans = 0;
for (i = 0; i < n; i = i_) {
i_ = i + 1;
while (i_ < n && (jj[aa[i_ - 1]] + 1) % m == jj[aa[i_]])
i_++;
if (i_ - i < m)
return -1;
ans += (i_ - i + m - 1) / m;
}
return ans;
}
