2016 China Final E - Bet

Posted 勿忘初心0924

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了2016 China Final E - Bet相关的知识,希望对你有一定的参考价值。

/*************************************************************************
    > File Name: E.cpp
    > Author: LyuCheng
    > Created Time: 2017-12-02 20:38
    > Description: 
        题意:有n各队比赛,每个队的赔率是A:B 就是说你下注x元,赢了你会得到
            额外的 B/A*x的钱,问你最多买多少队,能保证哪个队赢,你都会赚钱

        思路:假设每个队下注pi元 那么 segma(pi=0..n)(pi*(1+B/A))>sum
            化简得(segma(pi=0..n)(pi))/sum>segma(pi=0..n)(A/(A+B)) 也就是 
            segma(pi=0..n)(A/(A+B))<1
 ************************************************************************/
#include <bits/stdc++.h>

#define MAXN 123

using namespace std;

int t;
int n;
long double a;
long double b;
long double cnt[MAXN];
int res;

inline void init(){
    res=0;
}

int main(){
    scanf("%d",&t);
    for(int ca=1;ca<=t;ca++){
        printf("Case #%d: ",ca);
        init();
        scanf("%d",&n);
        for(int i=0;i<n;i++){
            scanf("%Lf:%Lf",&a,&b);
            cnt[i]=(a*1000/(a*1000+b*1000));
        }
        sort(cnt,cnt+n);
        long double s=0;
        for(int i=0;i<n;i++){
            s+=cnt[i];
            if(s>=1) break;
            res++;
        }
        printf("%d\n",res);
    }
    return 0;
}

 

以上是关于2016 China Final E - Bet的主要内容,如果未能解决你的问题,请参考以下文章

2016-2017 ACM-ICPC CHINA-Final

2016 China Final H - Great Cells

2016-2017 ACM-ICPC CHINA-Final Solution

2016-2017 ACM-ICPC CHINA-Final 个人题解

2016 ACM-ICPC CHINA-Final

2016 ACM-ICPC CHINA-Final