최소 곱
시간 제한2초메모리 제한512 MB
의사난수로 배열을 생성한 뒤 i<j이고 a_i<a_j인 두 원소의 곱이 최소가 되는 쌍을 찾고, 없으면 IMPOSSIBLE을 출력한다.
문제
정수 배열 이 주어진다. 이고 이며 곱 가 가능한 한 작아지는 두 인덱스 와 를 찾아라.
입력
입력은 여러 개의 테스트로 이루어진다. 첫째 줄에 테스트의 수 가 주어진다 (). 다음 개의 줄에 각각 하나의 테스트가 주어진다.
각 테스트는 다음과 같은 알고리즘으로 생성된다. 테스트는 정수 , , , , , , , 로 주어진다 (, , ). 은 배열의 길이이다.
먼저 길이 인 수열 를 생성한다. 과 는 주어진다. 인 경우 이다. 부터 까지의 각 에 대해 이다. 따라서 이다.
정수 오버플로를 피하려면 수열을 생성할 때 64비트 정수를 사용하는 것이 좋다.
모든 테스트에서 의 합은 을 넘지 않는다.
출력
각 테스트마다 가능한 가장 작은 곱 를 한 줄에 하나씩 출력한다. 이고 인 와 가 존재하지 않으면 "IMPOSSIBLE"을 출력한다.
힌트
첫 번째 테스트에서 배열이 생성되는 과정을 살펴보자.
먼저 수열 를 생성한다.
이어서 이 수열로 를 생성한다.
따라서 이다. 답은 이다.
두 번째 테스트에서 배열은 이다.