题目描述

给定n个a[i],b[i],求min(x$\in$R){$\sum\limits_{i=1}^{n}$|a[i]*x+b[i]|}

输入格式

第 1行 1个整数 n
第 2行 n个整数,第 i个为 a[i],b[i]

输入格式

输出一行一个实数 y,表示答案。你可以输出任意位小数,随后系统会将你的输出与答案进行比较,只
有当你的输出与答案绝对误差不超过 $10^{-3}$ 时才能得到该测试点的分数

输入样例

2
1 1
2 -1

输出样例

1.50000000000

 #include<iostream>
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cmath>
#define int long long
#define maxn 300000+10
#define INF 2147483647
using namespace std;
inline int read()
{
int x=;
bool f=;
char c=getchar();
for(; !isdigit(c); c=getchar()) if(c=='-') f=;
for(; isdigit(c); c=getchar()) x=(x<<)+(x<<)+c-'';
if(f) return x;
return -x;
}
inline void write(int x)
{
if(x<){putchar('-');x=-x;}
if(x>)write(x/);
putchar(x%+'');
}
int n;
struct node
{
double a,b,val;
}x[maxn];
double minn=INF;
inline bool cmp(node x,node y)
{
return x.val<y.val;
}
inline double cal(double num)
{
double ans=;
for(int i=;i<=n;i++)
{
ans+=abs(x[i].a*num+x[i].b);
}
return ans;
}
signed main()
{
n=read();
for(int i=;i<=n;i++)
{
scanf("%lf%lf",&x[i].a,&x[i].b);
if(x[i].a==) continue;
int re=x[i].b*-;
x[i].val=double(re)/double(x[i].a);
}
if(n==)
{
write();
return ;
}
sort(x+,x+n+,cmp);
double l=x[].val,r=x[n].val;
while(r-l>=1e-)
{
double m1=l+(r-l)/,m2=r-(r-l)/;
if(cal(m1)<cal(m2)) r=m2;
else l=m1;
}
printf("%.8f",cal(l));
return ;
}

最新文章

  1. centos7.0 下安装git(ssh方式)
  2. ANT_HOME is set incorrectly or ant could not be located .Please set ANT_HOME.
  3. C++移位运算符
  4. 移动开发框架,Hammer.js&amp;nbsp;移动设备触摸手势js库
  5. .Net 三款工作流引擎比较:WWF、netBPM 和 ccflow
  6. 可视化数据包分析工具-CapAnalysis
  7. [转自已]Windos多个文件快速重命名说明+图解
  8. 【uwp】浅谈China Daily中数据同步到One Drive的实现
  9. Python3 解释器
  10. Scheme r5rs letrec的用法
  11. ajax跨域请求,亲测有效
  12. Python【每日一问】13
  13. thinkphp5 or
  14. AXURE插件在 Chrome 浏览器中用不了怎么办?
  15. 【luogu4320】道路相遇 (圆方树 + LCA)
  16. LRU ,LRUW,CKPT-Q
  17. Extjs4.x (MVC)Controller中refs以及Ext.ComponentQuery解析
  18. kubernetes中使用NFS创建pv_pvc
  19. resize2fs: Bad magic number in super-block while trying to open
  20. html5图像、图片处理【转】

热门文章

  1. Nmap使用总结
  2. 保研经验帖----江西师范大学 to 华中科技大学
  3. java mybatis
  4. NIO开发Http服务器(4):Response封装和响应
  5. 【洛谷 P3975】 [TJOI2015]弦论(后缀自动机)
  6. 深入理解JVM(二)--对象的创建
  7. 【阿里云开发】- 安装MySQL数据库
  8. UI5-技术篇-Hybrid App-3-Fiori 百度地图应用
  9. Unable to guess the mime type as no guessers are available 2 9
  10. mysql遇到时区问题的坑(Java解决方案)