SRM467 div1 medium

ここより先に見たほうがいいところ:
SRM467 - cafelier@SRM - TopCoder部
Login - TopCoder Wiki

                                                                                                                                    • -

解けなかった。

だからSuperSum(n,k)は

で表を変形して

こうなる。
だから答えは
n+kCk+1
あとMODのライブラリはcafelierさんを丸パクリ参考にさせていただきました。

typedef long long LL;

static const MOD=1000000007;
LL ADD(LL x,LL y){	return (x+y)%MOD;	}
LL SUB(LL x,LL Y){	return (x-y+MOD)%MOD;	}
LL MUL(LL x,LL y){	return ((x*y)%MOD+MOD)%MOD;	}
LL POW(LL x,LL e)
{
	LL r=1;
	for(;e;x=MUL(x,x);e>>=1)
		if(e&1)
			r=MUL(r,x);
	return r;
}
LL DIV(LL x,LL y){	return MUL(x,POW(y,MOD-2));	}
LL COMB(LL n,LL k)
{
	LL r=1;
	for(LL i=1;i<=k;i++)
		r=DIV(MUL(r,n-i+1),i);
	return r;
}

class SuperSum
{
	public:
		int calculate(int k, int n) 
		{
			return (int)COMB(n+k,k+1);
		}
};