SGU 114 Telecasting station(水~)
2016-04-14 19:04
381 查看
Description
给出一些点对(xi,pi)表示在x轴上xi坐标处有pi个人,现在要在x轴上找一点x0,使得sum(pi*|xi-x0|)最小
Input
第一行一整数n表示点对数,之后n行每行两个整数xi和pi
(1< n< 15000,0< xi, pi< 50000)
Output
输出使得sum(pi*|xi-x0|)最小的x0
Sample Input
4
1 3
2 1
5 2
6 2
Sample Output
3.00000
Solution
水题,找中位数
Code
给出一些点对(xi,pi)表示在x轴上xi坐标处有pi个人,现在要在x轴上找一点x0,使得sum(pi*|xi-x0|)最小
Input
第一行一整数n表示点对数,之后n行每行两个整数xi和pi
(1< n< 15000,0< xi, pi< 50000)
Output
输出使得sum(pi*|xi-x0|)最小的x0
Sample Input
4
1 3
2 1
5 2
6 2
Sample Output
3.00000
Solution
水题,找中位数
Code
#include<cstdio> #include<iostream> #include<algorithm> #include<cstring> using namespace std; #define maxn 22222 struct node { int x,p; }a[maxn]; int n; int cmp(node a,node b) { return a.x<b.x; } int main() { while(~scanf("%d",&n)) { int sum=0,temp=0; for(int i=0;i<n;i++) { scanf("%d%d",&a[i].x,&a[i].p); sum+=a[i].p; } sort(a,a+n,cmp); for(int i=0;i<n;i++) { temp+=a[i].p; if(temp>=sum/2) { printf("%d.00000\n",a[i].x); break; } } } return 0; }
相关文章推荐
- 通过JUnit进行Android单元测试
- Lightoj1008——Fibsieve`s Fantabulous Birthday(找规律)
- Spring中Bean的命名 (id 和name)
- sharding-jdbc使用
- Ceph部署时提示:/etc/init.d/ceph: line 15: /lib/lsb/init-functions: No such file or directory
- StringUtils的isBlank与isEmply
- CSS3.0使用@font-face自定义字体
- ACM-2006
- 呕心之作:支付宝的手机网站支付接口的应用
- 关于 ScrollLayout加载时总是显示在中间的视图解决方法
- 离散化黑科技
- FZU 2215 Simple Polynomial Problem【模拟】【表达式计算】
- 日历??
- hdoj 1016 dfs(素数环)
- 【bzoj2243】[SDOI2011]染色 树链剖分 (区间合并处理)
- ACM-2005
- Windows下安装使用curl命令
- 网站打开慢,如何排查
- js求两者时间差
- markdown(-)简介