Submission #1219184

#TimeUsernameProblemLanguageResultExecution timeMemory
1219184Mans21Painting Walls (APIO20_paint)C++20
28 / 100
1592 ms1664 KiB
#include "paint.h" #include <bits/stdc++.h> using namespace std; const int maxn = 100'000 + 12; bool is[maxn]; 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++) { sort(B[i].begin(), B[i].end()); } auto check = [&](int i, int x) -> bool { auto it = lower_bound(B[i].begin(), B[i].end(), x); return it != B[i].end() && *it == x; }; for(int x = 0; x < m; x++) { for(int y = 0; y <= n - m; y++) { bool fg = true; for(int l = 0; l < m; l++) { fg &= check((x + l) % m, c[y + l]); } is[y] |= fg; } } int ans = 0, last = -1e9, cur = -1e9; for(int i = 0; i < n; i++) { if(is[i]) last = i; if(i - cur >= m) { if(i - last >= m) { return -1; } cur = last; ans++; } } 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...