Submission #1161638

#TimeUsernameProblemLanguageResultExecution timeMemory
1161638AvianshPainting Walls (APIO20_paint)C++20
12 / 100
36 ms12616 KiB
#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 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...