【题目描述】
原题来自:USACO 2003 Mar. Green
给定一个长度为 n 的非负整数序列 A,求一个平均数最大的,长度不小于 L 的子段。
【输入格式】
第一行用空格分隔的两个整数 n 和 L;
第二行为 n 个用空格隔开的非负整数,表示 Ai。
【输出格式】
输出一个整数,表示答案的 1000 倍。不用四舍五入,直接输出。
【样例输入】
10 6
6 4 2 10 3 8 5 9 4 1
【样例输出】
6500
【数据范围与提示】
n≤10^5, 0≤Ai≤2000。
思路:用二分枚举平均值mid,每个牛的价值都减去mid,
看是否有连续的超过L长度的区间使得这段区间的价值大于等于0,
如果能找到,那么说明这个平均值可以达到。不得不承认,总觉得二分的题不记录一下区间值是完成不了二分的,这道题也是这样,判断区间值是否大于0,如果大于0的话,当前这个区间成立。
/*
思路:用二分枚举平均值mid,每个牛的价值都减去mid,
看是否有连续的超过L长度的区间使得这段区间的价值大于等于0,
如果能找到,那么说明这个平均值可以达到。
*/
#include<cstdio>
#include<c