553A. Kyoya and Colored Balls - Codeforces Solution C++

  Problem Link : 553A. Kyoya and Colored Balls 


✅ C++ Solution :

 
#include<bits/stdc++.h>
using namespace std;


#define ll long long int
ll m = 1000000007 ;

ll fact[10000001];

ll power(ll a,ll b)
{
	if(b==0)
		return 1;

	ll x=power(a,b/2);

	x=(x*x)%m;
	if(b%2==1)
		x=(x*a)%m;

	return x;
}


ll comb(ll n, ll r)
{
    if(n==0)
        return 1;
    
    	return (fact[n]*power(fact[r]*fact[n-r]%m,m-2))%m;
}
int main()
{
	int k,c;
	cin>>k;
	ll ans=1;
	ll len=0;

	fact[0]=1;
	for(int i=1;i<=1000000;i++)
		fact[i]=(fact[i-1]*i)%m;
	for(int i=1;i<=k;i++)
	{
		cin>>c;
		ans=(ans*comb(len+c-1,c-1))%m;
		len+=c;
	}

	cout<<ans<<"\n";	
}










 

Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook. 

😇Happy Learning!!

  Problem Link : 553A. Kyoya and Colored Balls 


✅ C++ Solution :

 
#include<bits/stdc++.h>
using namespace std;


#define ll long long int
ll m = 1000000007 ;

ll fact[10000001];

ll power(ll a,ll b)
{
	if(b==0)
		return 1;

	ll x=power(a,b/2);

	x=(x*x)%m;
	if(b%2==1)
		x=(x*a)%m;

	return x;
}


ll comb(ll n, ll r)
{
    if(n==0)
        return 1;
    
    	return (fact[n]*power(fact[r]*fact[n-r]%m,m-2))%m;
}
int main()
{
	int k,c;
	cin>>k;
	ll ans=1;
	ll len=0;

	fact[0]=1;
	for(int i=1;i<=1000000;i++)
		fact[i]=(fact[i-1]*i)%m;
	for(int i=1;i<=k;i++)
	{
		cin>>c;
		ans=(ans*comb(len+c-1,c-1))%m;
		len+=c;
	}

	cout<<ans<<"\n";	
}










 

Thank you for your patience reading. If you enjoyed this post, I’d be very grateful if you’d help it spread by emailing it to a friend, or sharing it on Whatsapp or Facebook. 

😇Happy Learning!!