아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

축구

시간 제한1초메모리 제한1024 MB

요약
선수 능력치 N개를 순서를 유지한 채 각 팀이 최소 M명이 되도록 K개의 연속 구간으로 나눌 때, 가장 약한 팀의 평균을 최대화하고 그 값을 기약분수로 출력한다.
난이도

어려움10점 중 8점

유형
이분 탐색, 동적 계획법, 누적 합, 그리디
정답자
아직 제출이 없습니다

문제

바이트랜드에서는 매년 학생 스포츠 대회가 열립니다. 그중에서도 축구가 특히 인기가 많으며, NN명의 학생이 참가합니다. 학생 ii의 축구 실력은 정수 AiA_i로 나타냅니다.

대회를 위해 KK개의 팀을 만들어야 하며, 각 팀에는 최소 MM명의 선수가 있어야 합니다. 한 팀의 실력은 그 팀에 속한 선수들의 실력의 산술 평균입니다. 예를 들어 어떤 팀에 실력이 11, 55, 44, 99인 선수가 있다면, 그 팀의 실력은 1+5+4+94=4.75\frac{1+5+4+9}{4} = 4.75입니다.

감독은 모든 선수의 실력을 한 줄로 종이에 적었습니다. 이제 이 줄을 KK개의 구간으로 나누려고 하는데, 각 구간에는 최소 MM개의 수가 들어가야 합니다. 그런 다음 각 구간에 속한 선수들로 한 팀씩을 만듭니다. 대회를 더 흥미진진하게 만들기 위해, 감독은 가장 약한 팀의 실력이 가능한 한 크게 되기를 원합니다.

예를 들어 선수들의 실력이 순서대로 55, 44, 44, 33, 55, 11, 88이고 각각 최소 세 명으로 이루어진 두 팀을 만들어야 한다면, 감독에게는 두 가지 방법이 있습니다.

  • 첫 번째 팀에 실력이 55, 44, 44인 선수를, 두 번째 팀에 실력이 33, 55, 11, 88인 선수를 배치한다.
  • 첫 번째 팀에 실력이 55, 44, 44, 33인 선수를, 두 번째 팀에 실력이 55, 11, 88인 선수를 배치한다.

첫 번째 경우 더 약한 팀의 실력은 174=4.25\frac{17}{4}=4.25이고, 두 번째 경우는 44입니다. 따라서 감독은 첫 번째 방법을 택합니다.

주어진 선수들을 위 규칙에 따라 팀으로 나눌 때, 가장 약한 팀의 실력이 가질 수 있는 최댓값을 구하는 프로그램을 작성하세요.

입력

첫째 줄에 공백으로 구분된 세 정수 NN, MM, KK가 주어집니다 (6≤N≤1046 \le N \le 10^4, 2≤M2 \le M, 2≤K≤5002 \le K \le 500, K⋅M≤NK \cdot M \le N). 각각 선수의 수, 한 팀의 최소 인원, 만들어야 하는 팀의 수를 의미합니다.

둘째 줄에 공백으로 구분된 NN개의 정수 AiA_i (1≤Ai≤1091 \le A_i \le 10^9), 즉 선수들의 실력이 순서대로 주어집니다.

출력

선수들을 주어진 순서대로, 각 팀이 최소 MM명이 되도록 KK개의 연속된 팀으로 나눌 때, 가장 약한 팀의 실력이 가질 수 있는 최댓값을 기약분수 p/qp/q 형태(분모 q≥1q \ge 1, 더 이상 약분되지 않는 형태)로 한 줄에 출력하세요. 값이 정수 vv이면 v/1v/1로 출력합니다.

예제2

  1. 예제 1

    입력
    7 3 2
    5 4 4 3 5 1 8
    
    예상 출력
    17/4
    
  2. 예제 2

    입력
    8 2 3
    1 1 1 1 1 1 1 1
    
    예상 출력
    1/1