私人奶茶店
Description
?小C有一家奶茶店,其中有n種奶茶,每種奶茶都有a【i】個(gè),小C每天都會(huì)等概率地從剩余的奶茶中選一杯奶茶喝掉,問小C第K天喝到第m種奶茶的概率是多少。
?
Input
第一行n,代表奶茶的種類數(shù)
第二行n個(gè)數(shù),表示a【i】
第三行k,m,表示第k天喝到第m種奶茶的概率
(n<=1e5, 0 < a[i] <= 1e6)
(1<=k<=sum(a[i]), 1<=m<=n)
Output
?用最簡分?jǐn)?shù)表示。
?
Sample Input
2 1 1 1 1Sample Output
1/2HINT
#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; }?
總結(jié)