Submission #6426646


Source Code Expand

#include<iostream>
using namespace std;
const int mod=1E9+7;
int n,m,ans=1,inv[1E5+7];

int F(int a){
	int ret=1;
	for(int i=0;i<a;++i)ret=1ll*ret*(m+i)%mod;
	for(int i=1;i<=a;++i)
	ret=1ll*ret*inv[i]%mod;
	return ret;
}

int main(){
	ios::sync_with_stdio(0);
	cin>>n>>m;
	inv[0]=inv[1]=1;
	for(int i=2;i<=1E5;++i)
	inv[i]=1ll*(mod-mod/i)*inv[mod/i]%mod;
	n=abs(n);
	for(int i=2;i<=1E5;++i){
		int cnt=0;
		while(n%i==0)n/=i,++cnt;
		ans=1ll*ans*F(cnt)%mod;
	}
	if(n>1)ans=1ll*ans*F(1)%mod;
	for(int i=1;i<m;++i)ans=2ll*ans%mod;
	cout<<ans<<"\n";
	return 0;
} 

Submission Info

Submission Time
Task D - 表現の自由 ( Freedom of expression )
User wess_shi
Language C++14 (GCC 5.4.1)
Score 0
Code Size 591 Byte
Status CE

Compile Error

./Main.cpp:4:24: error: size of array ‘inv’ has non-integral type ‘double’
 int n,m,ans=1,inv[1E5+7];
                        ^