zoukankan      html  css  js  c++  java
  • 输油管道(北京化工网赛)

    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
     1 #include <cstdio>
     2 #include <algorithm>
     3 #include <iostream>
     4 using namespace std;
     5 struct node
     6 {
     7     int x,y;
     8 }a[1000000];
     9 int cmp(node a,node b)
    10 {
    11     return a.y<b.y;
    12 }
    13 int main()
    14 {
    15     int n,i,j;
    16     while(cin>>n)
    17     {
    18         long long sum=0;
    19         for(i=0;i<n;i++)
    20             scanf("%d%d",&a[i].x,&a[i].y);
    21         sort(a,a+n,cmp);
    22         if(n%2==0)//偶数个
    23         {
    24             for(i=0,j=n-1;i<n/2;i++,j--)
    25                 sum+=(a[j].y-a[i].y);
    26         }
    27         else
    28         {
    29             for(i=0;i<n;i++)
    30                 sum+=a[i].y-a[n/2].y;
    31         }
    32         printf("%lld
    ",sum);
    33         
    34     }
    35 }
  • 相关阅读:
    linux下查看机器是cpu是几核
    Stylus 安装使用图解
    npm 安装配置
    vue-cli vue脚手架
    nodejs与npm
    超详细解决 PLSQL下拉数据库"空白"
    Oracle 11g Windows64位
    Mysql 5.7.x zip windows安装
    Windows下Nginx的启动、停止、重启等命令
    Swagger中最常用的几个注解
  • 原文地址:https://www.cnblogs.com/a1225234/p/4687213.html
Copyright © 2011-2022 走看看