#include <cstdio>
#include <cmath>
#define lztin() read()
#define ztyout( a ) printf( "%.4lf", a )
#define eps 1e-5
#define ll long long
using namespace std;
inline int read() {
int x = 0,tmp = 1;char ch = getchar();
while( ch < '0' || ch > '9' ) {if ( ch == '-' ) tmp = -1; ch = getchar();}
while( ch >= '0' && ch <= '9'){x = x * 10 + ch - '0'; ch = getchar(); }
return x * tmp;
}
int A[110000], N, K, cnt;
double B[1100000], T[1100000];
double ans;
void msort( int l, int r ) {
if( l == r ) return;
int mid = l + r >> 1;
msort( l, mid );
msort( mid + 1, r );
int i = l, k = l, j = mid + 1;
while( i <= mid && j <= r ) {
if( B[i] > B[j] ) {
cnt += mid - i + 1;
T[k] = B[j];
k ++, j ++;
} else {
T[k] = B[i];
k ++, i ++;
}
}
while( i <= mid ) {
T[k] = B[i];
k ++, i ++;
}
while( j <= r ) {
T[k] = B[j];
k ++, j ++;
}
for( int w = l ; w <= r ; ++ w ) B[w] = T[w];
}
int check( double mid ) {
B[0] = 0; cnt = 0;
for( int i = 1 ; i <= N ; ++ i ) {
B[i] = B[i - 1] + (double)A[i] - mid;
}
msort( 1, N );
for( int i = 1 ; i <= N ; ++ i )
cnt += ( B[i] < 0 );
return ( cnt >= K );
}
int main() {
N = lztin(), K = lztin();
for( int i = 1 ; i <= N ; ++ i ) {
A[i] = lztin();
}
double l = 0, r = (double)1e9, mid;
while( fabs( l - r ) > eps ) {
mid = ( l + r ) / 2.0;
if( check( mid ) ) ans = mid, r = mid;
else l = mid;
}
ztyout( ans ); return 0;
}

JZOI1169A 平均数Ave的更多相关文章

  1. 网络流24T

    说出来你们可能不信,我咕了三个多星期了,今晚忽然不想再写题了,(写自闭了,把这边整理一下 1. 洛谷P2756 飞行员配对问题 二分图匹配: #include <bits/stdc++.h> ...

  2. bzoj1045: [HAOI2008] 糖果传递(思维题)

    首先每个人一定分到的糖果都是所有糖果的平均数ave. 设第i个人给i-1个人Xi个糖果,则有Ai-Xi+X(i+1)=ave. 则A1-X1+X2=ave,A2-X2+X3=ave,A3-X3+X4= ...

  3. 【bzoj1465/bzoj1045】糖果传递 数论

    题目描述 老师准备了一堆糖果, 恰好n个小朋友可以分到数目一样多的糖果. 老师要n个小朋友去拿糖果, 然后围着圆桌坐好, 第1个小朋友的左边是第n个小朋友, 其他第i个小朋友左边是第i-1个小朋友. ...

  4. Python高级笔记(九)Python使用MySQL

    1. MySQL基本使用 1.1 数据库简介 Mysql: 关系型数据库,做网站 redis:当作缓存 mongodb:非关系型数据库,做爬虫 SQL语句: DQL:数据查询语言,用于对数据进行查询, ...

  5. 51nod 平均数(马拉松14)

    平均数 alpq654321 (命题人)   基准时间限制:4 秒 空间限制:131072 KB 分值: 80 LYK有一个长度为n的序列a. 他最近在研究平均数. 他甚至想知道所有区间的平均数,但是 ...

  6. 【JZOJ4869】【NOIP2016提高A组集训第9场11.7】平均数

    题目描述 数据范围 解法 二分答案. 对于一个答案mid,要求出区间平均数小于mid的个数ans. 给所有数减去mid,那么问题转化为求出所有区间和为负数的个数. 对于一个区间[l,r],如果sum[ ...

  7. Hadoop阅读笔记(二)——利用MapReduce求平均数和去重

    前言:圣诞节来了,我怎么能虚度光阴呢?!依稀记得,那一年,大家互赠贺卡,短短几行字,字字融化在心里:那一年,大家在水果市场,寻找那些最能代表自己心意的苹果香蕉梨,摸着冰冷的水果外皮,内心早已滚烫.这一 ...

  8. 51nod平均数

    #include <iostream> #include <cstdio> #include <cstring> #include <cmath> #i ...

  9. LYDSY模拟赛day3 平均数

    [ 问题描述]有一天, 小 A 得到了一个长度为 n 的序列.他把这个序列的所有连续子序列都列了出来, 并对每一个子序列都求了其平均值, 然后他把这些平均值写在纸上, 并对它们进行排序,最后他报出了第 ...

随机推荐

  1. nucleus 学习 中断

    ;************************************************************************ ;* ;* FUNCTION ;* ;* INT_I ...

  2. [CSP-S模拟测试]:F(DP+线段树)

    题目传送门(内部题49) 输入格式 第一行四个整数$n,q,a,b$.接下来$n$行每行一个整数$p_i$. 输出格式 一行一个整数表示答案. 样例 样例输入: 10 3 3 7 样例输出: 数据范围 ...

  3. MySQL-存储过程动态执行sql

    存储过程动态执行 sql --存储过程名和参数,参数中in表示传入参数,out标示传出参数,inout表示传入传出参数 create procedure p_procedurecode(in sumd ...

  4. ubuntu18.04 点击启动器实现窗口最小化

    gsettings set org.gnome.shell.extensions.dash-to-dock click-action 'minimize'

  5. float不完整带来的IE7下的不兼容

    这种原因是因为搜索用了float:right;添加报考院校和导入文件没有用float; 解决的方法是:1.给添加报考院校和导入文件分别添加float:left;2.把搜索那部分代码写在添加报考院校和导 ...

  6. UE格式化XML文件

    在UE中如何格式化xml:如果xml文件不是格式化的,应该“试图”-->“查看方式”-->“xml”:然后再“格式”-->“xml转换到回车符”.具体再要的属性,自己去摸索

  7. Python Numpy线性代数操作

    Python Numpy线性代数函数操作 1.使用dot计算矩阵乘法 import numpy as np from numpy import ones from __builtin__ import ...

  8. dir(dict)|字典的创建-添加-删除-修改-判断存在-取值等相关操作

    dir(dict) ####字典操作:创建-添加-删除-修改-判断存在-取值 #(一)创建字典: {} .等号. zip(). [(),()] #1.创建空字典 dict0 = {} #2.等号创建 ...

  9. log4j日志格式化

    Apache log4j 提供了各种布局对象,每一个对象都可以根据各种布局格式记录数据.另外,也可以创建一个布局对象格式化测井数据中的特定应用的方法. 所有的布局对象 - Appender对象收到 L ...

  10. P4363 [九省联考2018]一双木棋

    题面 这种搜索要把后继状态都跑出来之后取Min/Max 也就是回溯的时候进行操作 记得用hash进行记忆化(用map不开O2会TLE) #include<iostream> #includ ...