달걀 낙하 기록
면접 대비시간 제한2초메모리 제한256 MB
안전과 파손 낙하 기록을 바탕으로 깨질 수 있는 가장 낮은 층과 깨지지 않을 수 있는 가장 높은 층을 출력합니다.
문제
달걀 두 개와 층짜리 건물이 있다. 달걀을 떨어뜨려도 깨지지 않는 가장 높은 층을 찾는 것이 고전적인 수수께끼다.
누군가 이미 이 실험을 했고 기록을 남겨 두었다. 기록에는 달걀을 떨어뜨린 층 번호와 그때의 결과가 적혀 있다. 이 기록만 보고 두 값을 구한다. 하나는 달걀이 깨질 수도 있는 가장 낮은 층이고, 다른 하나는 달걀이 깨지지 않을 수도 있는 가장 높은 층이다.
층에서 떨어뜨린 달걀은 깨지지 않고, 층에서 떨어뜨린 달걀은 반드시 깨진다. 기록은 서로 모순되지 않는다. 즉 층에서 깨지지 않았다면 그보다 낮은 층에서도 깨지지 않고, 층에서 깨졌다면 그보다 높은 층에서도 깨진다.
입력
첫째 줄에 정수 과 가 공백 하나로 구분되어 주어진다 (, ). 은 기록된 낙하 횟수, 는 건물의 층수다. 다음 개 줄에는 달걀을 떨어뜨린 층 번호와 그 결과가 공백 하나로 구분되어 주어진다. 층 번호는 이상 이하이고, 결과는 SAFE 또는 BROKEN 중 하나다.
출력
한 줄에 정수 두 개를 공백 하나로 구분해 출력한다. 첫 번째 수는 기록과 모순되지 않으면서 달걀이 깨질 수도 있는 가장 낮은 층이고, 두 번째 수는 달걀이 깨지지 않을 수도 있는 가장 높은 층이다.