码迷,mamicode.com
首页 > 其他好文 > 详细

poj 1018

时间:2014-07-16 00:30:02      阅读:365      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   os   art   

好多人都搜过的。

但是排序然后三分代码短且快。

同样是过,也有好坏之分。

bubuko.com,布布扣
#include <iostream>
#include <algorithm>
#include <cmath>
using namespace std;

int n;
int t;
int len[111];
int b[111][111];
int p[111][111];
int a[222222];
int m;

double calc(int x)
{
    double sum(0);
    for (int i=1; i<=n; i++)
    {
        int xiao = 2147483647;
        for (int j=1; j<=len[i]; j++)
            if (b[i][j] >= x) xiao = min(xiao, p[i][j]);
        sum += xiao;
    }
    return x / sum;
}
int main(void)
{
    int i,j,k,ci,cici,cicici;

    for (scanf("%d", &t); t; t--)
    {
        scanf("%d", &n);
        for (i=1; i<=n; i++)
        {
            scanf("%d", &len[i]);
            for (j=1; j<=len[i]; j++)
            {
                scanf("%d%d", &b[i][j], &p[i][j]);
                a[++m] = b[i][j];
            }            
        }

        sort(a+1, a+1+m);

        int left = 1, right = m, mid1, mid2;
        double f1, f2;
        while(left + 1 < right)
        {
            mid1 = (left + right) / 2;
            mid2 = (mid1 + right) / 2;
            f1 = calc(a[mid1]);
            f2 = calc(a[mid2]);
            if (f1 < f2) left = mid1;
            else right = mid2;
        }
        printf("%.3lf\n", max(calc(a[left]), calc(a[right])));
    }
    return 0;
}
codeeeee

 

poj 1018,布布扣,bubuko.com

poj 1018

标签:style   blog   http   color   os   art   

原文地址:http://www.cnblogs.com/Rainb/p/3845100.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!