私人奶茶店
阿新 • • 發佈:2018-12-19
小C有一家奶茶店,其中有n種奶茶,每種奶茶都有a【i】個,小C每天都會等概率地從剩餘的奶茶中選一杯奶茶喝掉,問小C第K天喝到第m種奶茶的概率是多少。
輸入格式:
第一行n,代表奶茶的種類數,第二行n個數,表示a【i】
第三行k,m,表示第k天喝到第m種奶茶的概率
(n<=1e5, 0 < a[i] <= 1e6)
(1<=k<=sum(a[i]), 1<=m<=n)
輸出格式:
用最簡分數表示。
輸入:
2
1 1
1 1
輸出:
1/2
#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; }