Submission #386985

#TimeUsernameProblemLanguageResultExecution timeMemory
386985rainboyPainting Walls (APIO20_paint)C++11
0 / 100
1 ms364 KiB
#include "paint.h"
#include <cstring>
#include <vector>

const int K = 100000;

int minimumInstructions(int n, int m, int k, std::vector<int> aa, std::vector<int> kk, std::vector<std::vector<int>> aaa) {
	static int jj[K];
	int h, i, i_, j, ans;

	memset(jj, -1, k * sizeof *jj);
	for (j = 0; j < m; j++)
		for (h = 0; h < kk[j]; h++)
			jj[aaa[j][h]] = j;
	for (i = 0; i < n; i++)
		if (jj[aa[i]] == -1)
			return 0;
	ans = 0;
	for (i = 0; i < n; i = i_) {
		i_ = i + 1;
		while (i_ < n && (jj[aa[i_ - 1]] + 1) % m == jj[aa[i_]])
			i_++;
		if (i_ - i < m)
			return -1;
		ans += (i_ - i + 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...