답안 #974918

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
974918 2024-05-04T07:01:17 Z hirayuu_oj 벽 칠하기 (APIO20_paint) C++17
0 / 100
0 ms 604 KB
#include "paint.h"
#include <algorithm>
#include<bits/stdc++.h>
using namespace std;
#define rep(i,n) for(int i=0; i<n; i++)
#define all(x) x.begin(),x.end();
using ll=long long;

int minimumInstructions(
        int N, int M, int K, std::vector<int> C,
        std::vector<int> A, std::vector<std::vector<int>> B) {
    vector<vector<int>> cols(K);
    rep(i,M){
        for(int j:B[i]){
            cols[j].emplace_back(i);
        }
    }
    int ans=0;
    int cnt=0;
    vector<int> can;
    rep(i,N){
        if(!can.empty()){
            vector<int> nxt;
            for(int j:can){
                int now=(j+1)%M;
                if(*lower_bound(B[now].begin(),B[now].end(),C[i])==C[i]){
                    nxt.emplace_back(now);
                }
            }
            swap(can,nxt);
            if(can.empty()){
                if(ans==0){
                    return -1;
                }
                cnt=0;
                ans++;
                can.clear();
            }
        }
        if(cnt==0){
            can=cols[C[i]];
        }
        cnt++;
        if(cnt==M){
            cnt=0;
            ans++;
            can.clear();
        }
    }
    if(cnt!=0)ans++;
    return ans;
}
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 604 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 604 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 604 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 604 KB Output isn't correct
4 Halted 0 ms 0 KB -
# 결과 실행 시간 메모리 Grader output
1 Correct 0 ms 344 KB Output is correct
2 Correct 0 ms 348 KB Output is correct
3 Incorrect 0 ms 604 KB Output isn't correct
4 Halted 0 ms 0 KB -