# | Submission time | Handle | Problem | Language | Result | Execution time | Memory |
---|---|---|---|---|---|---|---|
922701 | 2024-02-06T03:23:21 Z | salmon | Painting Walls (APIO20_paint) | C++14 | 3 ms | 8536 KB |
#include "paint.h" #include <bits/stdc++.h> using namespace std; set<int> lst[100100]; vector<int> pos[50100]; vector<int> contract[100100]; bool can[100100]; bool l[100100]; int minimumInstructions(int N, int M, int K, vector<int> C, vector<int> A, vector<vector<int>> B) { for(int i = 0; i < N; i++){ pos[C[i]].push_back(i); can[i] = false; } for(int i = 0; i < M; i++){ for(int j : B[i]){ for(int k : pos[j]){ contract[k].push_back(i); } } } vector<pair<int,int>> v; for(int i = 0; i < N; i++){ int it = 0; int it1 = 0; vector<pair<int,int>> temp; if(contract[i].size() != 0 && contract[i][0] == 0) temp.push_back({0,1}); while(it < v.size() && it1 < contract[i].size()){ if((v[it].first + 1) % M == contract[i][it1]){ temp.push_back({v[it].first + 1,v[it].second + 1}); if(v[it].second + 1 >= M){ can[i] = true; } } if(v[it].first + 1 <= contract[i][it1]){ it++; } else{ it1++; } } } for(int i = 0; i < N; i++){ if(can[i + M - 1 % N]) l[i] = true; else l[i] = false; } int ans = 1100100100; if(!l[0]) return -1; int cont = 1; int r = 0; int go = N - 1; int it = 0; int take = 0; while(r < go){ cont++; take = r; while(it < r){ it++; if(l[it]){ take = it + M - 1; } } if(take == r){ cont = 1100100100; break; } r = take; } ans = min(ans,cont); if(ans == 1100100100) return -1; return ans; }
Compilation message
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 8536 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 8536 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 8536 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 8536 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |
# | Verdict | Execution time | Memory | Grader output |
---|---|---|---|---|
1 | Incorrect | 3 ms | 8536 KB | Output isn't correct |
2 | Halted | 0 ms | 0 KB | - |