#include <bits/stdc++.h>
#include "paint.h"
using namespace std;
constexpr int N=1e5,M=5e4,K=1e5;
map<int,int> dp[2];
unordered_set<int> mp[K];
int ans;
bool can[N];
int minimumInstructions(int n,int m,int k,vector<int>c,vector<int>a,vector<vector<int>>b) {
for(int i=0;i<m;++i) for(int j=0;j<a[i];++j)
mp[b[i][j]].insert(i);
for(int i=n-1;i>=0;--i){
dp[i&1].clear();
for(auto&j:mp[c[i]]){
dp[i&1][j]=dp[i&1^1][(j+1)%m]+1;
can[i]=can[i]||(dp[i&1][j]>=m);
}
}
for(int i=0,p=-1,q=-1;i<n;++i){
q=(can[i]?i+m-1:q);
if(i>p) p=q,++ans;
if(i>p) return -1;
}
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... |