# | Time | Username | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
1225809 | paskalisapo | 벽 칠하기 (APIO20_paint) | C++20 | 0 ms | 0 KiB |
#include "paint.h"
#include <vector>
int minimumInstructions(
int N, int M, int K, std::vector<int> C,
std::vector<int> A, std::vector<std::vector<int>> B) {
vector<int> colourlike(K , -1);
for(int i = 0 ;i < M ; i++) {
for(auto &x : B[i]) {
colourlike[x] = i;
}
}
int index = 0;
int instr = 0;
while(index < N) {
if(colourlike[C[index]] == -1) {
return -1;
}
int start = colourlike[C[index]];
int cur = start + 1;
index++;
while(cur <= start + M && index < N) {
if(colourlike[C[index]] != cur) {
return -1;
}
index++;
cur++;
}
instr++;
}
return instr;
}