축구
시간 제한1초메모리 제한1024 MB
선수 능력치 N개를 순서를 유지한 채 각 팀이 최소 M명이 되도록 K개의 연속 구간으로 나눌 때, 가장 약한 팀의 평균을 최대화하고 그 값을 기약분수로 출력한다.
문제
바이트랜드에서는 매년 학생 스포츠 대회가 열립니다. 그중에서도 축구가 특히 인기가 많으며, 명의 학생이 참가합니다. 학생 의 축구 실력은 정수 로 나타냅니다.
대회를 위해 개의 팀을 만들어야 하며, 각 팀에는 최소 명의 선수가 있어야 합니다. 한 팀의 실력은 그 팀에 속한 선수들의 실력의 산술 평균입니다. 예를 들어 어떤 팀에 실력이 , , , 인 선수가 있다면, 그 팀의 실력은 입니다.
감독은 모든 선수의 실력을 한 줄로 종이에 적었습니다. 이제 이 줄을 개의 구간으로 나누려고 하는데, 각 구간에는 최소 개의 수가 들어가야 합니다. 그런 다음 각 구간에 속한 선수들로 한 팀씩을 만듭니다. 대회를 더 흥미진진하게 만들기 위해, 감독은 가장 약한 팀의 실력이 가능한 한 크게 되기를 원합니다.
예를 들어 선수들의 실력이 순서대로 , , , , , , 이고 각각 최소 세 명으로 이루어진 두 팀을 만들어야 한다면, 감독에게는 두 가지 방법이 있습니다.
- 첫 번째 팀에 실력이 , , 인 선수를, 두 번째 팀에 실력이 , , , 인 선수를 배치한다.
- 첫 번째 팀에 실력이 , , , 인 선수를, 두 번째 팀에 실력이 , , 인 선수를 배치한다.
첫 번째 경우 더 약한 팀의 실력은 이고, 두 번째 경우는 입니다. 따라서 감독은 첫 번째 방법을 택합니다.
주어진 선수들을 위 규칙에 따라 팀으로 나눌 때, 가장 약한 팀의 실력이 가질 수 있는 최댓값을 구하는 프로그램을 작성하세요.
입력
첫째 줄에 공백으로 구분된 세 정수 , , 가 주어집니다 (, , , ). 각각 선수의 수, 한 팀의 최소 인원, 만들어야 하는 팀의 수를 의미합니다.
둘째 줄에 공백으로 구분된 개의 정수 (), 즉 선수들의 실력이 순서대로 주어집니다.
출력
선수들을 주어진 순서대로, 각 팀이 최소 명이 되도록 개의 연속된 팀으로 나눌 때, 가장 약한 팀의 실력이 가질 수 있는 최댓값을 기약분수 형태(분모 , 더 이상 약분되지 않는 형태)로 한 줄에 출력하세요. 값이 정수 이면 로 출력합니다.