私人奶茶店

Description

 小C有一家奶茶店,其中有n种奶茶,每种奶茶都有a【i】个,小C每天都会等概率地从剩余的奶茶中选一杯奶茶喝掉,问小C第K天喝到第m种奶茶的概率是多少。

 

Input

第一行n,代表奶茶的种类数

第二行n个数,表示a【i】

第三行k,m,表示第k天喝到第m种奶茶的概率

(n<=1e5, 0 < a[i] <= 1e6)

(1<=k<=sum(a[i]), 1<=m<=n)

Output

 用最简分数表示。

 

Sample Input

2 1 1 1 1

Sample Output

1/2

HINT

#include <cstdio>
#include <iostream>
using namespace std;
typedef long long ll;
const int maxn = 1e5+9;
ll a[maxn];
ll gcd(ll a, ll b){
    if(b==0)return a;
    return gcd(b, a%b);
}
int main(){ 
        // freopen("data5.in", "r", stdin);
        int n;scanf("%d", &n);
        ll sum = 0;
        for(int i=1; i<=n; i++)scanf("%lld", &a[i]),sum+=a[i];
        cout<<"sum"<<sum<<endl;
        int k,m;
        scanf("%d%d", &k, &m);
        ll g = gcd(sum,a[m]);
        printf("%lld/%lld\n", 1ll*a[m]/g, 1ll*sum/g);
        return 0;
}

 

全部评论

相关推荐

11-28 17:48
中山大学 C++
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务