A97500.[蓝桥杯 2024 省 Java B] 最优分组
普及+/提高
官方
通过率:0%
时间限制:1.00s
内存限制:128MB
题目描述
小蓝开了一家宠物店,最近有一种 X 病毒在动物之间进行传染,小蓝为了以防万一打算购买测试剂对自己的宠物进行病毒感染测试。
为了减少使用的测试剂数目,小蓝想到了一个好方法:将 N 个宠物平均分为若干组,使得每组恰好有 K 只宠物,这样对同一组的宠物进行采样并混合后用一个试剂进行检测,如果测试结果为阴性则说明组内宠物都未感染 X 病毒;如果是阳性的话则需要对组内所有 K 只宠物单独检测,需要再消耗 K 支测试剂(当 K=1 时,就没必要再次进行单独检测了,因为组内只有一只宠物,一次检测便能确认答案)。
现在我们已知小蓝的宠物被感染的概率为 p,请问 K 应该取值为多少,才能使得期望的测试剂的消耗数目最少?如果有多个答案,请输出最小的 K。
输入格式
第一行,一个整数 N。
第二行,一个浮点数 p。
输出格式
输出一行,一个整数 K 表示答案。
输入输出样例
输入#1
1000 0.05
输出#1
5
说明/提示
数据范围
对于 30% 的评测用例:1≤N≤10。
对于 60% 的评测用例:1≤N≤1000。
对于 100% 的评测用例:1≤N≤106,0≤p≤1。