Submission #1385771


Source Code Expand

#include<bits/stdc++.h>
using namespace std;
const int maxn=1e7+5;
typedef long long LL;
const LL mo=1e9+7;
LL fac[maxn],inv[maxn];
LL C(int n,int m){
	if(n<m)return 0;
	return fac[n]*inv[m]%mo*inv[n-m]%mo;
}
LL pw(LL x,LL k,LL p=::mo){
	LL ans=1;
	for(;k;k>>=1){
		if(k&1)ans=ans*x%mo;
		x=x*x%mo;
	}
	return ans;
}
int main(){
	fac[0]=fac[1]=inv[0]=inv[1]=1;
	for(int i=2;i<maxn;i++){
		fac[i]=fac[i-1]*i%mo;
	}
	for(int i=2;i<maxn;i++){
		inv[i]=(mo-mo/i)*inv[mo%i]%mo;
	}
	for(int i=2;i<maxn;i++){
		inv[i]=inv[i-1]*inv[i]%mo;
	}

	LL ans=0;


	int n,m,k;
	cin>>n>>m>>k;
	if(m>k)swap(m,k);


//	long long ans=0;
/*	for(int i=0;i<=m;i++)
		for(int j=0;j<=k;j++){
			ans+=C(n+i+j-1,n-1)*C(i+j,i)*pw(3,m+k-i-j);
		}
	cout<<ans<<endl;

	for(int i=0;i<=m+k;i++)
		for(int j=0;j<=k&&j<=m;j++){
			ans+=C(n+i-1,n-1)*C(i,j)*pw(3,m+k-i);
		}
	cout<<ansi<<endl;
	return 0;*/
	LL cur=1;
	for(int p=0;p<=m+k;p++){
		LL res=0;
		
		res=C(n+p-1,n-1)*pw(3,m+k-p)%mo;

		ans+=res*cur%mo;
		ans%=mo;

		cur=cur*2%mo;
		if(p>=m){
			cur-=C(p,m);
			cur+=mo;cur%=mo;
		}
		if(p>=k){
			cur-=C(p,p-k);
			cur+=mo;cur%=mo;
		}


	}

	cout<<ans<<endl;

	return 0;
}

Submission Info

Submission Time
Task F - Card Game for Three
User kzoacn
Language C++14 (GCC 5.4.1)
Score 1100
Code Size 1223 Byte
Status AC
Exec Time 555 ms
Memory 156544 KiB

Judge Result

Set Name Sample subtask1 All
Score / Max Score 0 / 0 500 / 500 600 / 600
Status AC
AC × 10
AC × 24
Set Name Test Cases
Sample
subtask1 subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt
All sample_01.txt, sample_02.txt, sample_03.txt, subtask1_01.txt, subtask1_02.txt, subtask1_03.txt, subtask1_04.txt, subtask1_05.txt, subtask1_06.txt, subtask1_07.txt, subtask1_08.txt, subtask1_09.txt, subtask1_10.txt, subtask2_01.txt, subtask2_02.txt, subtask2_03.txt, subtask2_04.txt, subtask2_05.txt, subtask2_06.txt, subtask2_07.txt, subtask2_08.txt, subtask2_09.txt, subtask2_10.txt, subtask2_11.txt
Case Name Status Exec Time Memory
sample_01.txt AC 508 ms 156544 KiB
sample_02.txt AC 477 ms 156544 KiB
sample_03.txt AC 489 ms 156544 KiB
subtask1_01.txt AC 491 ms 156544 KiB
subtask1_02.txt AC 477 ms 156544 KiB
subtask1_03.txt AC 477 ms 156544 KiB
subtask1_04.txt AC 485 ms 156544 KiB
subtask1_05.txt AC 502 ms 156544 KiB
subtask1_06.txt AC 470 ms 156544 KiB
subtask1_07.txt AC 465 ms 156544 KiB
subtask1_08.txt AC 478 ms 156544 KiB
subtask1_09.txt AC 483 ms 156544 KiB
subtask1_10.txt AC 471 ms 156544 KiB
subtask2_01.txt AC 538 ms 156544 KiB
subtask2_02.txt AC 529 ms 156544 KiB
subtask2_03.txt AC 505 ms 156544 KiB
subtask2_04.txt AC 495 ms 156544 KiB
subtask2_05.txt AC 529 ms 156544 KiB
subtask2_06.txt AC 539 ms 156544 KiB
subtask2_07.txt AC 542 ms 156544 KiB
subtask2_08.txt AC 508 ms 156544 KiB
subtask2_09.txt AC 503 ms 156544 KiB
subtask2_10.txt AC 555 ms 156544 KiB
subtask2_11.txt AC 468 ms 156544 KiB