부분 수열 해시
시간 제한1초메모리 제한256 MB
주어진 배열의 비어 있지 않은 부분수열 중 사전 순으로 가장 작은 K개를 골라 각 다항 해시를 출력합니다.
문제
길이가 인 정수 배열이 주어진다. 이 배열의 비어 있지 않은 부분 수열을 모두 사전순으로 정렬한 결과를 라고 하자. 부분 수열은 원래 배열에서 원소를 0개 이상 지워서 만드는 배열이다. 값이 서로 같은 부분 수열이 여러 개 나올 수 있고, 이다.
배열 가 배열 보다 사전순으로 앞선다는 것은, 두 배열이 처음으로 달라지는 위치 에서 이거나 가 의 진 접두사인 경우를 뜻한다.
값이 인 배열의 해시는 다음과 같이 정의한다.
와 은 입력으로 주어지는 정수다. 가 주어질 때 를 구한다.
입력
첫째 줄에 정수 , , , 이 주어진다. (, , )
둘째 줄에 정수 이 주어진다. ()
모든 입력에서 이 성립한다.
출력
개의 줄을 출력한다. 번째 줄에는 를 출력한다.
힌트
첫 번째 예제에서 정렬된 부분 수열은 , , 이다. 따라서 , , 이다.
두 번째 예제에서 정렬된 부분 수열은 , , , 이다. 값이 1인 원소가 두 개이므로 이 두 번 나온다. 따라서 , , , 이다.