제출 #743693

#제출 시각아이디문제언어결과실행 시간메모리
743693speedyArda벽 칠하기 (APIO20_paint)C++14
12 / 100
55 ms13648 KiB
#include "paint.h"
#include <vector>
#include "bits/stdc++.h"

using namespace std;
const int MAXN = 1e5+5;
vector< vector< int > > colors(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++)
  {
    for(int a = 0; a < A[i]; a++)
    {
      colors[B[i][a]].push_back(i);
    }
  }
  int max_color = 0;
  for(int i = 0; i < K; i++)
  {
    max_color = max(max_color, (int)colors[i].size());
  }

  if(max_color <= 1) // Sub 1
  {
    if(colors[C[0]].size() == 0)
      return -1;
    int curr = (colors[C[0]][0] + 1) % M;
    for(int i = 1; i < N; i++)
    {
      if(colors[C[i]].empty() || colors[C[i]][0] != curr)
        return -1;
      curr++;
      curr %= M;
    }

    return ((N + (M - 1)) / M);
  } else {

  }
  return 0;
}
#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...