제출 #409948

#제출 시각아이디문제언어결과실행 시간메모리
409948Carmel_Ab1벽 칠하기 (APIO20_paint)C++17
0 / 100
1 ms256 KiB
#include <bits/stdc++.h>
#include "paint.h"

//#include "grader.cpp"

using namespace std;
typedef vector<int> vi;
typedef vector<vi> vvi;

#define all(x) x.begin(),x.end()

int minimumInstructions(int N, int M, int K, vi C,vi A, vvi B) {
    for(int i=0; i<B.size(); i++)
        sort(all(B[i]));
    vector<vector<bool>>can(N,vector<bool>(M));// iff a sequence from j can start in i

    for(int i=0; i+M<=N;i++){
        for(int j=0; j<M; j++){
            can[i][j]=1;
            for(int j2=0; j2<M; j2++)
                if(!binary_search(all(B[(j+j2)%M]),C[(i+j2)])) {
                    can[i][j] = 0;
                    break;
                }
        }
    }
    set<int>segs;
    for(int i=0; i<N; i++)
        for(int j=0; j<M; j++)
            if(can[i][j])
                segs.insert(i);
    int ans=0;
    vector<bool>covered(N);

    for(int i=0; i<N;i++){
        if(covered[i])continue;

        ans++;
        if(*segs.lower_bound(i)==i){
            for(int j=i;j<i+M; j++)
                covered[j]=1;
            continue;
        }
        if(*segs.begin()>i)return -1;
        auto ub=segs.upper_bound(i);
        if(ub==segs.begin())return -1;
        ub--;
        for(int j=*ub; j<*ub+M; j++)
            covered[j]=1;
    }
    return ans;
}

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

paint.cpp: In function 'int minimumInstructions(int, int, int, vi, vi, vvi)':
paint.cpp:13:19: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<std::vector<int> >::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   13 |     for(int i=0; i<B.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...