#include "paint.h"
#include <vector>
#include <bits/stdc++.h>
using namespace std;
int minimumInstructions(
int N, int M, int K, std::vector<int> C,
std::vector<int> A, std::vector<std::vector<int>> B) {
vector<int>lk(K,-1);
for(int i=0;i<M;i++){
for(int j=0;j<A[i];j++){
lk[B[i][j]]=i;
}
}
bool val=1;
int cnt=0;
for(int i=0;i<N;i+=0){
if(lk[C[i]]==-1){
val=false;
break;
}
int st=lk[C[i]];
bool pos=false;
if(i!=0){
if(lk[C[(i-1)]]==(st+M-1)%M)pos=true;
}
cnt++;
for(int j=1;j<M;j++){
if(lk[C[(i+j)%N]]==-1){
val=false;
break;
}
if(lk[C[(i+j)%N]]!=(st+j)%M){
if(!pos){
val=false;
break;
}
else{
i-=M;
i+=j;
break;
}
}
}
i+=M;
if(!val)break;
}
if(val)return cnt;
else return -1;
}
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |
# | Verdict | Execution time | Memory | Grader output |
---|
Fetching results... |