简单的前缀和大水题
emmmm
题意:
给出n个数,删除前面的k个数,求剩下n-k个数中删除最小值后的平均值。
要求求出平均值最大时的k值,如果有多个,要求从小到大输出。
显然地,如果删除k个数后,剩下的n-k个数一定大于等于2。(因为如果只有一个数,删去之后就没了,平均分为0。。
同时,k也必须大于0。
思路:
既然是从前往后删,那么不妨从后往前记录数字和以及到目前为止的最小值。从而可以求出平均值,记录最大值。最后从后往前输出平均值等于最大值的k值。
简单的前缀和处理就能解决了。
注意边界问题,因为咱们将i颠倒了,所有i+k=n.
1 <= k=n-i <=n-2
所以:
只考虑当2<=i<=n-1时,最大平均值。
这个地方俺调试了好久。。终究还是太菜了wuwuwu
蒟蒻丑陋的代码:
#include <iostream>
#include <algorithm>
#include <cstring>
#include <math.h>
#include <stdlib.h>
#include <functional>
#include <string>
#include <vector>
#include