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;
}