Result | TIME Limit | MEMORY Limit | Run Times | AC Times | JUDGE |
---|---|---|---|---|---|
3s | 65536K | 784 | 150 | Standard |
Changchun市的供暖公司总是为供热管道的修建位置感到头疼,一个不好的建设方案会浪费很多的时间和材料,他们总是想找到最优的建设方案。
为此,他们来到了JLU, 想通过聪明的你帮他们找出最优方案。
有n个住宅楼,平面坐标已知,现在要修建一个从南到北垂直的主管道,其他住宅楼以分支管道连到主管道,(每个住宅楼都是直接连到主管道的),问主管道如何选址,可以使得分支管道的总长度最短。
每个case第一行有一个整数n(n<1500). 下面n行,每行有两个整数,分别代表第n个住宅楼的横坐标和纵坐标
n=0时代表输入结束
每个case一行,输出最短的分支管道总长度(不包括主管道)
2 1 1 5 1 0
4
This problem is used for contest: 143 192
#include<iostream> #include<algorithm> #include<stdio.h> #include<math.h> using namespace std; int x[2000]; int main() { int n; while(scanf("%d",&n),n) { int y; for(int i=1;i<=n;i++) { cin>>x[i]; cin>>y; } sort(x+1,x+n+1); int s=(1+n)/2; int sum=0; for(int i=1;i<=n;i++) { sum+=fabs(x[s]-x[i]); } cout<<sum<<endl; } return 0; }