Submission #1225836

#TimeUsernameProblemLanguageResultExecution timeMemory
1225836paskalisapoPainting Walls (APIO20_paint)C++20
0 / 100
0 ms328 KiB
#include "paint.h"
using namespace std;

#include <vector>

int minimumInstructions(
       int N, int M, int K, std::vector<int> C,
    std::vector<int> A, std::vector<std::vector<int>> B) {
    
    vector<int> colourlike(K , -1);
    for(int i = 0 ;i < M ; i++) { 
        for(auto &x : B[i]) {
            colourlike[x] = i;
        }
    }

    int index = 0;
    int instr = 0;
    while(index < N) {
        if(colourlike[C[index]] == -1) {
            return -1;
        }
        int start = colourlike[C[index]];
        int cur = start + 1;
        index++;
        while(cur <= start + M && index < N) {
            if(colourlike[C[index]] != cur) {
                return -1;
            }
            index++;
            cur++;
        }
        instr++;
    }
    return instr;
}
#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...