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

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

최대 평균 구간

면접 대비

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

요약
길이가 K 이상인 모든 연속 부분배열 중 평균이 가장 큰 값을 소수점 여섯 자리까지 버림해서 출력합니다.
난이도

보통10점 중 6점

유형
이분 탐색, 누적 합
정답자
아직 제출이 없습니다

문제

정수 NN개로 이루어진 배열이 주어진다. 길이가 KK 이상인 연속한 부분 배열 중에서 평균이 가장 큰 것을 찾아 그 평균을 구한다.

부분 배열의 평균은 그 안에 들어 있는 수의 합을 수의 개수로 나눈 값이다.

입력

첫째 줄에 정수 NN과 KK가 공백을 사이에 두고 주어진다. (1≤N≤3×1051 \le N \le 3 \times 10^5, 1≤K≤N1 \le K \le N)

둘째 줄에 배열의 원소 a1,a2,…,aNa_1, a_2, \dots, a_N이 공백을 사이에 두고 주어진다. (1≤ai≤1061 \le a_i \le 10^6)

출력

가능한 최대 평균을 AA라고 하자. AA를 소수점 아래 여섯째 자리까지 버림해서 한 줄에 출력한다. 즉 ⌊A×106⌋\lfloor A \times 10^6 \rfloor을 정수 부분과 소수점 아래 여섯 자리로 나누어 적는다. 소수점 아래 일곱째 자리부터는 반올림하지 않고 잘라낸다.

AA는 분모가 NN 이하인 유리수이므로 정수 연산만으로 정확히 구할 수 있다. 소수점 아래 여섯 자리는 값이 0이어도 모두 출력한다.

예제3

  1. 예제 1

    입력
    4 1
    1 2 3 4
    
    예상 출력
    4.000000
    
  2. 예제 2

    입력
    4 2
    2 4 3 4
    
    예상 출력
    3.666666
    
  3. 예제 3

    입력
    6 3
    7 1 2 1 3 6
    
    예상 출력
    3.333333