# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
375351 | 2021-03-09T09:44:38 Z | astoria | Painting Walls (APIO20_paint) | C++14 | 84 ms | 17004 KB |
#include "bits/stdc++.h" #include "paint.h" using namespace std; int minimumInstructions(int N, int M, int K, std::vector<int> C, std::vector<int> A, std::vector<std::vector<int>> B){ vector<int> f[K+5]; //for the colour i, who can do? for(int i=0; i<M; i++){ for(int j=0; j<A[i]; j++){ int col = B[i][j]; f[col].push_back(i); } } int lng[N+5]; memset(lng,-1,sizeof(lng)); for(int j : f[C[0]]) lng[0]=1; lng[0]=max(lng[0],0); for(int i=1; i<N; i++){ for(int j : f[C[i]]){ lng[i] = 1; int lst = j-1; if(lst<0) lst+=M; if(!f[C[i-1]].empty() && f[C[i-1]].front()==lst) lng[i] += lng[i-1]; } lng[i]=max(lng[i],0); } int dp[N+5]; multiset<int> mns; mns.insert(0); for(int i=0; i<N; i++){ if(lng[i]<M) dp[i]=1e9; else dp[i]=(*mns.begin())+1; mns.insert(dp[i]); if(mns.size()>M&&i>=M) mns.erase(mns.find(dp[i-M])); else if(mns.size()>M) mns.erase(0); } if(dp[N-1]>=1e6) return -1; return dp[N-1]; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 0 ms | 364 KB | Output is correct |
4 | Correct | 0 ms | 364 KB | Output is correct |
5 | Correct | 0 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 1 ms | 364 KB | Output is correct |
10 | Correct | 1 ms | 364 KB | Output is correct |
11 | Correct | 1 ms | 364 KB | Output is correct |
12 | Correct | 1 ms | 364 KB | Output is correct |
13 | Correct | 3 ms | 2668 KB | Output is correct |
14 | Correct | 2 ms | 2668 KB | Output is correct |
15 | Correct | 2 ms | 2668 KB | Output is correct |
16 | Correct | 2 ms | 2668 KB | Output is correct |
17 | Correct | 3 ms | 2796 KB | Output is correct |
18 | Correct | 2 ms | 2796 KB | Output is correct |
19 | Correct | 2 ms | 2668 KB | Output is correct |
20 | Correct | 2 ms | 2796 KB | Output is correct |
21 | Correct | 2 ms | 2796 KB | Output is correct |
22 | Correct | 26 ms | 7168 KB | Output is correct |
23 | Correct | 27 ms | 7168 KB | Output is correct |
24 | Correct | 27 ms | 7148 KB | Output is correct |
25 | Correct | 3 ms | 620 KB | Output is correct |
26 | Correct | 3 ms | 620 KB | Output is correct |
27 | Correct | 4 ms | 620 KB | Output is correct |
28 | Correct | 4 ms | 620 KB | Output is correct |
29 | Correct | 4 ms | 620 KB | Output is correct |
30 | Correct | 4 ms | 620 KB | Output is correct |
31 | Correct | 13 ms | 4204 KB | Output is correct |
32 | Correct | 13 ms | 4224 KB | Output is correct |
33 | Correct | 13 ms | 4204 KB | Output is correct |
34 | Correct | 13 ms | 4204 KB | Output is correct |
35 | Correct | 13 ms | 4204 KB | Output is correct |
36 | Correct | 13 ms | 4204 KB | Output is correct |
37 | Correct | 38 ms | 7788 KB | Output is correct |
38 | Correct | 34 ms | 7788 KB | Output is correct |
39 | Correct | 34 ms | 7788 KB | Output is correct |
40 | Correct | 13 ms | 1900 KB | Output is correct |
41 | Correct | 9 ms | 1260 KB | Output is correct |
42 | Correct | 17 ms | 2028 KB | Output is correct |
43 | Correct | 11 ms | 1664 KB | Output is correct |
44 | Correct | 10 ms | 1388 KB | Output is correct |
45 | Correct | 16 ms | 2028 KB | Output is correct |
46 | Correct | 72 ms | 15724 KB | Output is correct |
47 | Correct | 44 ms | 9836 KB | Output is correct |
48 | Correct | 47 ms | 13164 KB | Output is correct |
49 | Correct | 59 ms | 13164 KB | Output is correct |
50 | Correct | 59 ms | 12780 KB | Output is correct |
51 | Correct | 51 ms | 9452 KB | Output is correct |
52 | Correct | 14 ms | 2028 KB | Output is correct |
53 | Correct | 15 ms | 2156 KB | Output is correct |
54 | Correct | 17 ms | 2028 KB | Output is correct |
55 | Correct | 17 ms | 2028 KB | Output is correct |
56 | Correct | 16 ms | 2028 KB | Output is correct |
57 | Correct | 16 ms | 2028 KB | Output is correct |
58 | Correct | 82 ms | 16876 KB | Output is correct |
59 | Correct | 80 ms | 17004 KB | Output is correct |
60 | Correct | 84 ms | 16876 KB | Output is correct |
61 | Correct | 81 ms | 16876 KB | Output is correct |
62 | Correct | 80 ms | 16876 KB | Output is correct |
63 | Correct | 84 ms | 16876 KB | Output is correct |
64 | Correct | 84 ms | 15852 KB | Output is correct |
65 | Correct | 82 ms | 15724 KB | Output is correct |
66 | Correct | 79 ms | 15724 KB | Output is correct |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Correct | 1 ms | 364 KB | Output is correct |
2 | Correct | 1 ms | 364 KB | Output is correct |
3 | Correct | 0 ms | 364 KB | Output is correct |
4 | Correct | 0 ms | 364 KB | Output is correct |
5 | Correct | 0 ms | 364 KB | Output is correct |
6 | Correct | 1 ms | 364 KB | Output is correct |
7 | Correct | 1 ms | 364 KB | Output is correct |
8 | Correct | 1 ms | 364 KB | Output is correct |
9 | Correct | 1 ms | 364 KB | Output is correct |
10 | Correct | 1 ms | 364 KB | Output is correct |
11 | Correct | 1 ms | 364 KB | Output is correct |
12 | Correct | 1 ms | 364 KB | Output is correct |
13 | Correct | 3 ms | 2668 KB | Output is correct |
14 | Correct | 2 ms | 2668 KB | Output is correct |
15 | Correct | 2 ms | 2668 KB | Output is correct |
16 | Correct | 2 ms | 2668 KB | Output is correct |
17 | Correct | 3 ms | 2796 KB | Output is correct |
18 | Correct | 2 ms | 2796 KB | Output is correct |
19 | Correct | 2 ms | 2668 KB | Output is correct |
20 | Correct | 2 ms | 2796 KB | Output is correct |
21 | Correct | 2 ms | 2796 KB | Output is correct |
22 | Incorrect | 1 ms | 364 KB | Output isn't correct |
23 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 1 ms | 364 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |