전등을 상자에 넣기
면접 대비시간 제한1초메모리 제한512 MB
각 전등의 초기 상태와 자동으로 상태가 바뀌는 일정이 주어질 때, 스위치를 적절히 사용해 모든 전등을 끌 수 있는 가장 이른 시각을 구한다.
문제
Wesley는 명절 장식을 정리해야 한다. Wesley에게는 개의 전등이 일렬로 있고, 그중 일부는 켜져 있을 수 있다. Wesley는 전등의 플러그를 뽑기 전에 모든 전등을 꺼야 한다. 그렇지 않으면 감전되어 죽을 것이다.
각 전등에는 전등을 켜거나 끌 수 있는 스위치가 하나씩 있다. Wesley는 첫 번째 초부터 시작해서 매 초마다 이 스위치를 최대 하나 사용할 수 있다. 하지만 전등들은 변덕스러워서, 앞으로 초 동안 스스로 상태를 바꾼다. 구체적으로 번째 초가 끝날 때 번째 전등이 상태를 뒤집는다. 꺼져 있었다면 켜지고, 켜져 있었다면 꺼진다. Wesley는 전등을 최대한 빨리 정리하고 싶어 하므로, 스위치를 이상적으로 사용했을 때 모든 전등이 꺼지는 가장 이른 시각이 언제인지 알고 싶어 한다. 즉, 어떤 스위치 사용 순서로 번째 초가 끝날 때까지 모든 전등을 끌 수 있는 가장 작은 를 출력한다. 처음부터 모든 전등이 꺼져 있다면 그런 는 0이다.
입력
첫째 줄에 전등의 개수 과 전등이 저절로 상태를 바꾸는 횟수 이 주어진다. ()
둘째 줄에 개의 정수 이 주어진다. () 이면 번째 전등이 처음에 켜져 있고, 이면 꺼져 있다.
셋째 줄에 개의 정수 이 주어진다. 번째 전등이 번째 초가 끝날 때 상태를 뒤집는다는 뜻이다. ()
출력
Wesley가 모든 전등을 끄는 데 걸리는 가장 이른 시각을 초 단위로 출력한다. 초가 지나기 전에 모든 전등을 끌 수 있다면, Wesley는 이후의 상태 변화를 무시하고 곧바로 전등을 정리한다.