zoukankan      html  css  js  c++  java
  • sgu114. Telecasting station 难度:1

    114. Telecasting station

    time limit per test: 0.25 sec. 
    memory limit per test: 4096 KB

     

    Every city in Berland is situated on Ox axis. The government of the country decided to build new telecasting station. After many experiments Berland scientists came to a conclusion that in any city citizensdispleasure is equal to product of citizens amount in it by distance between city and TV-station. Find such point on Ox axis for station so that sum of displeasures of all cities is minimal.

     

    Input

    Input begins from line with integer positive number N (0<N<15000) – amount of cities in Berland. Following N pairs (XP) describes cities (0<X, P<50000), where X is a coordinate of city and P is an amount of citizens. All numbers separated by whitespace(s).

     

    Output

    Write the best position for TV-station with accuracy 10-5.

     

    Sample Input

    4
    1 3
    2 1
    5 2
    6 2
    

    Sample Output

    3.00000

    思路:转化成pi个位置为xi的城市则很好求解,此时在中点
    #include <cstdio>
    #include <cmath>
    #include <algorithm>
    using namespace std;
    const double inf=1e18;
    const double eps=1e-9;
    const int maxn=15005;
    typedef pair<int ,int >P;
    int n;
    P x[maxn];
    int main(){
        scanf("%d",&n);
        int sum=0;
        for(int i=0;i<n;i++){
            scanf("%d%d",&x[i].first,&x[i].second);
            sum+=x[i].second;
        }
        sort(x,x+n);
        int tot=0;
        int ans=x[n-1].first;
        for(int i=0;i<n;i++){
            tot+=x[i].second;
            if(tot>=(sum+1)/2){ans=x[i].first;break;}
        }
        printf("%d.00000\n",ans);
        return 0;
    }
    

      

  • 相关阅读:
    设计模式-适配器模式(09)
    windows电脑使用技巧及常用CMD
    接口调用方法
    矩阵对角线和
    函数基础小结
    文件处理实战之购物车系统
    文件处理小结
    Python进阶实战之三级菜单
    Python进阶小结
    Python深浅拷贝
  • 原文地址:https://www.cnblogs.com/xuesu/p/4003951.html
Copyright © 2011-2022 走看看