로봇 프로젝트
면접 대비시간 제한5초메모리 제한256 MB
목표 길이와 최대 백만 개의 막대 길이가 주어질 때, 합이 정확히 목표와 같은 두 막대를 찾아 길이 차이가 최대가 되는 쌍을 구하거나 불가능하면 danger를 출력합니다.
문제
상근이와 선영이는 학교 숙제로 로봇을 만들고 있다. 만들던 도중, 로봇에 뚫린 구멍을 막을 레고 조각 두 개가 필요하다는 것을 알게 되었다.
구멍의 너비는 센티미터이고, 구멍에 끼울 두 조각의 길이의 합은 구멍의 너비와 정확히 같아야 한다. 조금이라도 어긋나면 시연 도중 로봇이 부서지고 두 사람은 F 학점을 받는다. 구멍은 반드시 두 조각으로 막아야 한다.
두 사람은 물리 실험실에 있는 레고 조각의 길이를 모두 정확하게 재어 두었다. 구멍을 완벽하게 막을 수 있는 두 조각을 찾는 프로그램을 작성하라.
입력
입력은 여러 개의 테스트 케이스로 이루어지며, 입력의 끝까지 처리한다.
각 테스트 케이스의 첫째 줄에는 구멍의 너비 (, 는 정수)가 센티미터 단위로 주어진다.
둘째 줄에는 레고 조각의 개수 ()이 주어진다.
이어지는 개의 줄에는 각 레고 조각의 길이 이 한 줄에 하나씩 주어진다. 은 양의 정수이고 단위는 나노미터이며, 한 조각의 길이는 센티미터( 나노미터)를 넘지 않는다.
( 센티미터는 나노미터이다.)
출력
각 테스트 케이스마다 한 줄씩 출력한다. 구멍을 완벽하게 막을 수 있는 두 조각이 없으면 danger를 출력한다. 막을 수 있으면 yes ℓ1 ℓ2를 출력하며, 이때 이다.
두 조각을 고르는 방법이 여러 가지이면 가 가장 큰 것을 출력한다.