#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) {
vector<int>pos[k];
for(int i = 0;i<m;i++){
sort(b[i].begin(),b[i].end());
for(int j : b[i]){
pos[j].push_back(i);
}
}
bool val[n];
fill(val,val+n,0);
for(int i = 0;i<n;i++){
int col = c[i];
if(pos[col].size()==0){
return -1;
}
}
for(int i = 0;i<n-1;i++){
int col = c[i];
int col2 = c[i+1];
if(((pos[col][0]+1)%m)==pos[col2][0]){
//this is good
val[i]=1;
}
}
if(m==1){
val[n-1]=1;
}
int ans = 0;
int cn = 0;
for(int i = 0;i<n;i++){
cn++;
if(val[i]==0){
//this must be endpoint
if(cn<m){
return -1;
}
ans+=(cn+m-1)/m;
cn=0;
}
}
ans+=(cn+m-1)/m;
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... |