Submission #1226484

#TimeUsernameProblemLanguageResultExecution timeMemory
1226484dzuizzPainting Walls (APIO20_paint)C++20
0 / 100
0 ms328 KiB
#include <bits/stdc++.h> #include "paint.h" using namespace std; int minimumInstructions(int n,int m,int k,vector<int>c,vector<int>a,vector<vector<int>>b) { vector<unordered_set<int>> mp(k); for(int i=0;i<m;++i) for(int j=0;j<a[i];++j) mp[b[i][j]].insert(i); vector<unordered_map<int,int>> dp(2); vector<bool> can(n,false); for(int i=n-1;i>=0;--i){ 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); } } int ans=0; 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 timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...