Submission #984504

#TimeUsernameProblemLanguageResultExecution timeMemory
9845043maraPainting Walls (APIO20_paint)C++17
51 / 100
1575 ms12124 KiB
#include "paint.h" #include <bits/stdc++.h> using namespace std; const int N=100005; int dp[N]; vector<int> col[N]; int minimumInstructions(int n, int m, int K, vector<int> v, vector<int> A, vector<vector<int>> a) { for(int i=0;i<=n;i++) dp[i]=1e9; for(int i=0;i<m;i++){ for(auto j:a[i]){ col[j].push_back(i); } } dp[0]=0; for(int i=0;i<=n-m;i++){ bool flag=1; for(auto ii:col[v[i]]){ flag=0; int j=ii; for(int cnt=0;cnt<m;cnt++){ if(!binary_search(col[v[i+cnt]].begin(),col[v[i+cnt]].end(),j)) flag=1; if(flag) break; j++; j%=m; } if(!flag) break; } if(!flag){ for(int j=1;j<=m;j++) dp[i+j]=min(dp[i]+1,dp[i+j]); } } if(dp[n]>=1e9) return -1; return dp[n]; }
#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...