#include<iostream>
using namespace std;
int cost[1001];
int main()
{
int testcase;
int N, L;
double ret;
int sum;
double dmin = 100000000.000;
cin >> testcase;
while (testcase--)
{
cin >> N >> L;
for (int i = 0; i < N; i++)
cin >> cost[i];
while (L <= N)
{
for (int i = 0; i < N; i++)
{
// L .... N 범위내 최소값구하기
sum = 0;
if (i + L > N)
break;
for (int j = i; j < i + L; j++)
{
sum += cost[j];
}
ret = sum / (double)L;
if (dmin > ret)
dmin = ret;
}
L++;
}
printf("%.12lf\n", dmin);
}
}
L입력이 3이라면
L이 3개 4개 ... N개 까지 더해보면서 최소값을 구하는 알고리즘입니다.
반례를 찾다가,,, 못찾겟어서 질문에 올려봅니다 ㅜㅜ 고수님들 도와주세요
8년 전
0개의 댓글이 있습니다.
정회원 권한이 있어야 커멘트를 다실 수 있습니다. 정회원이 되시려면
온라인 저지에서 5문제 이상을 푸시고, 가입 후 7일 이상이 지나셔야
합니다. 현재 문제를 푸셨습니다.
dhkdwk1130
L입력이 3이라면
L이 3개 4개 ... N개 까지 더해보면서 최소값을 구하는 알고리즘입니다.
반례를 찾다가,,, 못찾겟어서 질문에 올려봅니다 ㅜㅜ 고수님들 도와주세요
8년 전