제출 #735388

#제출 시각아이디문제언어결과실행 시간메모리
735388keisuke6벽 칠하기 (APIO20_paint)C++14
0 / 100
0 ms212 KiB
#include "paint.h"
#include <iostream>
#include <vector>
#include <map>
using namespace std;
int minimumInstructions(int N, int M, int K, vector<int> C,vector<int> A, vector<vector<int>> B){
  map<int,int> m;// c, p
  vector<int> AA(N);
  for(int i=0;i<M;i++){
    for(int x:B[i]){
      m[x] = i;
    }
  }
  for(int i=0;i<N;i++){
    if(!m.count(C[i])) return -1;
    AA[i] = m[C[i]];
  } 
  vector<int> T = {0};
  for(int i=1;i<N;i++){
    if((AA[i-1]+1)%M != AA[i]){
      T.push_back(i);
    }
  }
  T.push_back(N);
  int ans = 0;
  bool ok = false;
  for(int i=1;i<T.size();i++){
    if(T[i]-T[i-1] >= M) ok = true;
    ans += (T[i]-T[i-1]-1)/M+1;
  }
  return (ok ? -1 : ans);
}

컴파일 시 표준 에러 (stderr) 메시지

paint.cpp: In function 'int minimumInstructions(int, int, int, std::vector<int>, std::vector<int>, std::vector<std::vector<int> >)':
paint.cpp:27:16: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   27 |   for(int i=1;i<T.size();i++){
      |               ~^~~~~~~~~
#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...