#include "paint.h"
#include<bits/stdc++.h>
using namespace std;
int minimumInstructions(int n, int m, int k, vector<int> c, vector<int> a, vector<vector<int>> b){
int pre[k];
for(int i=0; i<k; i++) pre[i] = -1;
for(int i=0; i<m; i++){
for(int j=0; j<a[i]; j++){
pre[b[i][j]] = i;
}
}
int ans = 0;
for(int i=0; i<n;){
int mx = -1e9;
for(int j=0; j<m; j++){
if(pre[c[i]] != j) continue;
int cnt = 0;
while(i + cnt < n and cnt < m and pre[c[i + cnt]] == (j + cnt) % m){
cnt++;
}
if(i - (m-cnt) < 0) continue;
int tf = 1;
for(int k=j-1, l=1; l <= m-cnt; k--, l++){
k = (k+m) % m;
if(pre[c[i-l]] != k) tf = 0;
}
if(tf) mx = max(mx, i+cnt);
}
if(mx == -1e9) return -1;
i = mx;
ans++;
}
return ans;
}
# | 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... |