#include "paint.h"
#include <bits/stdc++.h>
using namespace std;
#define ll long long
#define pii pair<int,int>
#define f first
#define s second
#define all(x) x.begin(),x.end()
#define _ ios::sync_with_stdio(0); cin.tie(0); cout.tie(0);
int minimumInstructions(
int n, int m, int k, std::vector<int> c,
std::vector<int> a, std::vector<std::vector<int>> b) {
vector<vector<int>> pos(k);
for(int i=0;i<n;i++){
pos[c[i]].push_back(i);
}
vector<vector<int>> con(k);
for(int i=0;i<m;i++){
for(int j=0;j<a[i];j++){
con[b[i][j]].push_back(i);
}
}
vector<vector<int>> cnt(n,vector<int>(m));
for(int i=0;i<k;i++){
for(auto x:pos[i]){
for(auto y:con[i]){
for(int z=0;z<=y;z++){
if(x-(y-z)>=0) cnt[x-(y-z)][z]++;
}
for(int z=y+1;z<m;z++){
if(x-m+(z-y)>=0) cnt[x-m+(z-y)][z]++;
}
}
}
}
int r=-1;
int l=0;
int ans=0;
while(r<n-1){
int mx=-1;
while(l<=r+1){
for(int j=0;j<m;j++){
if(cnt[l][j]==m){
mx=l+m-1;
}
}
l++;
}
//cout<<l<<' '<<r<<' '<<mx<<'\n';
if(mx<=r) return -1;
r=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... |