博客
关于我
2019ICPC 沈阳重现 L-Flowers(二分)
阅读量:390 次
发布时间:2019-03-05

本文共 1012 字,大约阅读时间需要 3 分钟。

7-7 L-Flowers

Recently Jack becomes much more romantic. He would like to prepare several bunches of flowers.

Each bunch of flowers must have exactly M flowers. As Jack does not want to be boring, he hopes that flowers in the same bunch are all different species. Now there are N species of flowers in the flower shop, and the number of the i-th species of flower is a​i. Now Jack would like to know how many bunches of flowers he can prepare at most.

(Flowers are used to propose.)

Sample Input
1
5 3
1 1 1 2 1

Sample Output

2
思路:二分答案,看一下共x朵花,每朵花m个不同的花组成能不能满足就行了。

#include
using namespace std;typedef long long ll;const int maxn=3e5+1; int T,n;ll k,a[maxn];bool check(ll x){ ll sum=0; for(int i=1;i<=n;++i) sum+=min(a[i],x); return sum>=x*k;}int main(){ scanf("%d",&T); while(T--) { ll sum=0; scanf("%d %lld",&n,&k); for(int i=1;i<=n;++i) scanf("%lld",&a[i]),sum+=a[i]; ll l=0,r=sum,mid; while(l<=r) { mid=(l+r)>>1; if(check(mid)) l=mid+1; else r=mid-1; } printf("%lld\n",r); } }

转载地址:http://thewz.baihongyu.com/

你可能感兴趣的文章
Mysql中存储引擎简介、修改、查询、选择
查看>>
Mysql中存储过程、存储函数、自定义函数、变量、流程控制语句、光标/游标、定义条件和处理程序的使用示例
查看>>
mysql中实现rownum,对结果进行排序
查看>>
mysql中对于数据库的基本操作
查看>>
Mysql中常用函数的使用示例
查看>>
MySql中怎样使用case-when实现判断查询结果返回
查看>>
Mysql中怎样使用update更新某列的数据减去指定值
查看>>
Mysql中怎样设置指定ip远程访问连接
查看>>
mysql中数据表的基本操作很难嘛,由这个实验来带你从头走一遍
查看>>
Mysql中文乱码问题完美解决方案
查看>>
mysql中的 +号 和 CONCAT(str1,str2,...)
查看>>
Mysql中的 IFNULL 函数的详解
查看>>
mysql中的collate关键字是什么意思?
查看>>
MySql中的concat()相关函数
查看>>
mysql中的concat函数,concat_ws函数,concat_group函数之间的区别
查看>>
MySQL中的count函数
查看>>
MySQL中的DB、DBMS、SQL
查看>>
MySQL中的DECIMAL类型:MYSQL_TYPE_DECIMAL与MYSQL_TYPE_NEWDECIMAL详解
查看>>
MySQL中的GROUP_CONCAT()函数详解与实战应用
查看>>
MySQL中的IO问题分析与优化
查看>>