题意:给你n个数对(认为是a数组和b数组吧),从中取n-m个数对,如果选第i个数对,定义x[i]=1,求R=∑(a[i]*x[i])/∑(b[i]*x[i])取得最大值时R的值。输出R*100(保留到整数)

输入:第一行 n,m。第二行 a数组的值,第三行b数组的值。以n=m=0结束。

原题:





#include <cstdio>
#include <cstring>
#include <algorithm>
#include <iostream>
using namespace std;
int n,m,a[10005],b[10005];
double c[10005];
bool cmp(int a,int b)
{
return a>b;
}
bool judge(double k)
{
for(int i=1;i<=n;i++)
{
c[i]=a[i]-b[i]*k;
}
sort(c+1,c+1+n,cmp);
double sum=0.0;
for(int i=1;i<=m;i++)
{
sum+=c[i];
}
return sum>=0.0;
}
int main()
{
while(scanf("%d%d",&n,&m)&&(n||m))
{
double left=0,right=0x3fffffff;
m=n-m;
for(int i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(int i=1;i<=n;i++)
{
scanf("%d",&b[i]);
}
for(int i=1;i<=100;i++)
{
double mid=(left+right)/2.0;
if(judge(mid))
{
left=mid;
}
else
right=mid;
}
left=left*100;
printf("%.0f\n",left);
}
}

最新文章

  1. PHP变量作用域
  2. JQuery Easy Ui dataGrid 数据表格
  3. 关联规则之Aprior算法(购物篮分析)
  4. Follow me to learn what is Unit of Work pattern
  5. jQuery Devrama Slider 幻灯片
  6. NEERC 2013, Eastern subregional contest
  7. android chrome 不支持 audio/video的autoplay 属性
  8. Module模式 - 深入了解Javascript
  9. mmap和普通文件读写的区别和比较 &amp; mmap的注意点
  10. DTrace to Troubleshoot Java Native Memory Problems
  11. 初学HTML5系列二:HTML5新增的事件属性
  12. Adb工具常用操作(一)
  13. JS高级程序设计学习笔记之JS事件(1)
  14. C++ 11学习(1):lambda表达式
  15. 使用vee-validate表单插件是如何设置中文提示?
  16. RAID技术详解
  17. C# 链表去重 List 一维 二维 分别使用 Distinct() GroupBy() 方法
  18. Java之文本文件的创建和读取(含IO流操作)
  19. [20170828]grep过滤技巧.txt
  20. python全栈开发day33-进程间的通信、进程间的数据共享,进程池

热门文章

  1. 可以用作javascript异步模式的函数写法
  2. [Luogu] P3413 萌数
  3. Vue.js:使用vue-cli快速构建项目
  4. CA认证相关
  5. Django——5 自定义过滤器及标签
  6. hive计算日期差
  7. 子序列 NYOJ (尺取法+队列+hash) (尺取法+离散化)
  8. JAVA的堆和栈(转)
  9. SQL Server内核架构剖析与NUMA
  10. dataguard switchover to physical stnadby