給定乙個長度為 的非負整數序列 ,求乙個平均數最大的,長度不小於 的子段。
輸入格式
第一行用空格分隔的兩個整數 和 ;
第二行為 個用空格隔開的非負整數,表示 。
輸出格式
輸出乙個整數,表示這個平均數的 倍。不用四捨五入,直接輸出。
樣例樣例輸入
10 6
6 4 2 10 3 8 5 9 4 1
樣例輸出
6500
思路
直接用二分去找最大平均數
**
#include
#include
#include
#include
using
namespace std;
double a[
101234
],pre[
101234
],b[
101234];
intmain()
double maxx=
-1e10
,minn=
1e10
;for
(i=l;i<=n;i++)if
(maxx>=0)
//maxx>0代表假設的mid可以得到
l=mid;
//尋找比mid更大的
else
r=mid;
//找比mid更小的
}printf
("%d\n"
,int
(r*1000))
;//轉換成int型,
//printf("%.0lf\n",r*1000);//有個樣例過不去,精度高,比樣例大1
return0;
}
案例 求平均數
需求 編寫乙個方法,實現任意數求平均數 去除數字收納櫃的最大和最小,然後在算平均數,保留小數點後兩位 普通版本 letfn function 給ary排序,去除首未,ary.sort function a,b ary.pop ayr.shift 然後求和,最後求平均 let total 0 for ...
最大子段的平均數
示例 1 輸入 1,12,5,6,50,3 輸出 最大的和是54.0 子段的開始位置 1 子段的結束位置 5 最大子段平均數為 10.8 解釋 最大平均數 12 5 6 50 3 5 1 1 10.8 片.public class main int k 子段的個數 k lastindex first...
子陣列最大平均數
給定 n 個整數,找出平均數最大且長度為 k 的連續子陣列,並輸出該最大平均數。示例 1 輸入 1,12,5,6,50,3 k 4 輸出 12.75 簡單的滑動視窗題目 直接暴力求解會導致時間複雜度過高,大量資料輸入超出最大執行時間 使用滑動視窗優化減少迴圈巢狀 1.初始前k個數的值sum 2.從第...