평균
원래의 질문에 링크 : 평균
효과에 따라
당신 길이 \ (N- \) 시리즈의, 문자열, 최대 등의 문자열 평균의 컬럼의 수와 문자열의 길이 식별 \을 (> = m \)
문제에 대한 주제 솔루션
숫자 이론 및 숫자 이론에 태그를주는 이유는 무엇 반 푼도 볼 수 없습니다 ... 모른다 ...
아주 간단한 질문은, 등 우리가 수익을 증대 할 수 있습니다으로 0보다 큰이 감산 각 번호, 절반의 평균 크기는 어떻게 문자열의 길이의 변화를 다루는? 사용하고 같은 접두사 모양을 유지하기 위해 매우 간단합니다
다음 코드는(스파이크 제목)
//#define fre yes
#include <cstdio>
#include <iostream>
const int N = 100005;
int arr[N]; double sum[N];
int n, m;
bool check(double avg) {
for (int i = 1; i <= n; i++) {
sum[i] = sum[i - 1] + (arr[i] - avg);
}
double minv = 0;
for (int i = 0, j = m; j <= n; j++, i++) {
minv = std::min(minv, sum[i]);
if(sum[j] - minv >= 0) return true;
} return false;
}
int main() {
scanf("%d %d", &n, &m);
double l = 0, r = 0;
for (int i = 1; i <= n; i++) {
scanf("%d", &arr[i]);
r = std::max(r, (double)arr[i]);
}
while(r - l > 1e-5) {
double mid = (l + r) / 2;
if(check(mid)) l = mid;
else r = mid;
} printf("%d\n", (int)(r * 1000));
return 0;
}