输油管道(北京化工网赛)
2015-07-29 20:18
357 查看
J - 输油管道
Time Limit: 2000/1000MS (Java/Others) Memory Limit: 262144/131072KB (Java/Others)Submit Status
Problem Description
平面上有n个油井,现在要建立一条主干线,用来把所有的油井产出的原油都输送出去,主干线是平行于x轴的一条直线,每个油井通过一条支线把原油输送到主干线上,现在给定n个油井在平面上的坐标,那么应该把主干线建在什么地方才能让所有的支干线的总长度最小呢?Input
首先一个正整数n,接下来n行每行两个整数,代表n个油井在平面上的位置。n和坐标都是小于等于1000000的正整数。Output
输出总的支干线长度的最小值,每个结果占一行。Sample Input
2 0 0 10 10
Sample Output
10
#include <cstdio> #include <algorithm> #include <iostream> using namespace std; struct node { int x,y; }a[1000000]; int cmp(node a,node b) { return a.y<b.y; } int main() { int n,i,j; while(cin>>n) { long long sum=0; for(i=0;i<n;i++) scanf("%d%d",&a[i].x,&a[i].y); sort(a,a+n,cmp); if(n%2==0)//偶数个 { for(i=0,j=n-1;i<n/2;i++,j--) sum+=(a[j].y-a[i].y); } else { for(i=0;i<n;i++) sum+=a[i].y-a[n/2].y; } printf("%lld\n",sum); } }
相关文章推荐
- FileZilla Server安装配置教程
- MyBatis知多少(22)MyBatis删除操作
- zoj 3735 概率dp
- Mysql或者Hive数据行变成列
- hdoj5319
- C++面试题之写一个函数找出一个整数数组中,第二大的数
- UVA-11584 Partitioning by Palindromes (简单线性DP)
- 过滤器
- HDOJ 1879 继续畅通工程(最小生成树--kruskal)
- sublime Html快捷键大全
- 7.29学习笔记字符输入输出流
- android编译系统之后刷img
- hls 的一些体会
- HALCON算子函数——Chapter 18 : Tuple
- hdoj 1856 More is better [并查集]
- struts2中的#使用
- 3.Python基础 序列sequence
- ORACLE:分区表range,hash,list
- zoj 3728 Collision 计算几何
- 正则表达式