기숙사 소등
시간 제한1초메모리 제한1024 MB
N개 방의 초기 소등 상태와 집합 A가 주어질 때, i번 방을 소등하려면 i보다 앞선 소등된 방의 수가 A에 속해야 한다는 조건 아래 소등하지 못하는 방의 수를 최소화한다.
문제
서울과학고의 기숙사는 개의 방으로 이루어져 있고, 이 개의 방에는 각각 번부터 번까지 번호가 붙어 있다. 기숙사에 있는 학생들은 새벽 1시가 되면 소등을 해야 하고, 그렇지 않으면 벌점을 받게 된다. 그런데 기숙사에 알 수 없는 오류가 생겨 특정 조건을 만족해야만 소등을 할 수 있게 되었다.
()번 방이 소등을 하기 위해서는, 번 방부터 번 방 중 이미 소등을 완료한 방의 수가 집합 에 속해야 한다. 예컨대, 이고, 번 방 중 번 방만 소등하였다면, 번 방부터 번 방 중 소등한 방의 수가 로 의 원소가 아니므로 번 방은 소등할 수 없다.
전체 학생들이 받는 벌점의 수를 최소화하기 위해 가능한 한 많은 방을 소등하고자 한다. 임의의 두 방이 동시에 소등하거나 이미 소등한 방이 다시 전등을 켜는 것은 불가능하다.
처음 번 방부터 번 방까지의 소등 여부가 주어질 때, 소등하지 못하는 방의 수의 최솟값을 구하여라.
입력
첫 번째 줄에 기숙사 방의 수 , 집합 의 원소 수 가 공백으로 구분되어 주어진다.
두 번째 줄에 집합 의 개의 원소 가 공백으로 구분되어 주어진다. 들은 서로 다름이 보장된다.
세 번째 줄에는 번 방부터 번 방까지 각 방의 최초 소등 여부가 공백으로 구분되어 주어진다. 번째 방이 최초에 소등되었다면 이 주어지고, 최초에 소등되지 않았다면 이 주어진다.
출력
첫 번째 줄에 최종적으로 소등하지 못하는 방의 수의 최솟값을 출력한다.