POJ 2976 Dropping tests——最大化平均值

网友投稿 669 2022-11-28

POJ 2976 Dropping tests——最大化平均值

POJ 2976 Dropping tests——最大化平均值

注意n=k=0时break

#include #include #include #include using namespace std;const int maxn = 1010;int n, k, a[maxn], b[maxn];double y[maxn];bool judge(double t) { for (int i = 1; i <= n; i++) y[i] = a[i] - t * b[i]; sort(y + 1, y + 1 + n); double sum = 0; for (int i = 1; i <= (n-k); i++) sum += y[n - i + 1]; return sum >= 0;}void solve() { double l = 0, r = 1e7; for (int kase = 1; kase <= 100; kase++) { double mid = (l + r) / 2; if (judge(mid)) l = mid; else r = mid; } printf("%.0f\n", r * 100);}int main() { while (~scanf("%d %d", &n, &k) && n + k) { for (int i = 1; i <= n; i++) scanf("%d", &a[i]); for (int i = 1; i <= n; i++) scanf("%d", &b[i]); solve(); } return 0;}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:POJ 3723 Conscription——最小生成树
下一篇:POJ 3734 Blocks——矩阵快速幂
相关文章

 发表评论

暂时没有评论,来抢沙发吧~