Submission #3422011


Source Code Expand

#define  REP(i, s, e) for(register int i = s; i <= e ;i++)
#define DREP(i, s, e) for(register int i = s; i >= e ;i--)

#define DEBUG fprintf(stderr, "Passing [%s] in LINE %d\n", __FUNCTION__, __LINE__)
#define chkmin(a, b) a = min(a, b)
#define chkmax(a, b) a = max(a, b)

#include <bits/stdc++.h>

#define int long long 
using namespace std;
const int maxn = 2e5 + 10;
const int MOD = 1e9 + 7;

int power_pow(int a, int b)
{
	int base = a % MOD, ans = 1;
	while (b)
	{
		if (b & 1) ans = ans * base % MOD;
		base = base * base % MOD;
		b >>= 1;
	}
	return (ans + MOD) % MOD;
}

#define inv(x) power_pow(x, MOD - 2)

template <typename T> T read()
{
	T ans(0), p(1);
	char c = getchar();
	while (!isdigit(c))
	{
		if (c == '-') p = -1;
		c = getchar();
	}
	while (isdigit(c))
	{
		ans = ans * 10 + c - 48;
		c = getchar();
	}
	return ans * p;
}

int fac[maxn], Inv[maxn];
void init(int N)
{
	fac[0] = 1;
	Inv[0] = 1;
	REP(i, 1, N)
	{
		fac[i] = fac[i-1] * i % MOD;
		Inv[i] = inv(fac[i]);
	}
}

int C(int n, int m) {return (fac[n] * Inv[m] % MOD * Inv[n - m] % MOD + MOD) % MOD;}
int CC(int n, int m) {return C(n + m - 1, m);}

int m, n;

signed main()
{
#ifdef CraZYali
	freopen("D.in", "r", stdin);
	freopen("D.out", "w", stdout);
#endif
	init(2e5);
	cin >> n >> m;
	chkmax(n, -n);
	int ans = 1;
	for (register int i = 2; i * i <= n ; i++)
		if (n % i == 0)
		{
			register int cnt = 0;
			while (n % i == 0)
			{
				n /= i;
				cnt++;
			}
			ans = ans * CC(m, cnt) % MOD;
		}

	if (n > 1) ans = ans * CC(m, 1) % MOD;

	cout << (ans * power_pow(2, m - 1) % MOD + MOD) % MOD;
	return 0;
}

Submission Info

Submission Time
Task D - 表現の自由 ( Freedom of expression )
User CraZYali
Language C++14 (GCC 5.4.1)
Score 0
Code Size 1681 Byte
Status WA
Exec Time 34 ms
Memory 3328 KB

Judge Result

Set Name All
Score / Max Score 0 / 100
Status
WA × 40
Set Name Test Cases
All 00_max.txt, 00_max2.txt, 00_max3.txt, 00_min.txt, 00_sample_01.txt, 00_sample_02.txt, 00_sample_03.txt, 00_sample_04.txt, 01_rnd_00.txt, 01_rnd_01.txt, 01_rnd_02.txt, 01_rnd_03.txt, 01_rnd_04.txt, 01_rnd_05.txt, 01_rnd_06.txt, 01_rnd_07.txt, 01_rnd_08.txt, 01_rnd_09.txt, 01_rnd_10.txt, 01_rnd_11.txt, 01_rnd_12.txt, 01_rnd_13.txt, 01_rnd_14.txt, 01_rnd_15.txt, 01_rnd_16.txt, 01_rnd_17.txt, 01_rnd_18.txt, 01_rnd_19.txt, 01_rnd_20.txt, 01_rnd_21.txt, 01_rnd_22.txt, 01_rnd_23.txt, 01_rnd_24.txt, 01_rnd_25.txt, 01_rnd_26.txt, 01_rnd_27.txt, 01_rnd_28.txt, 01_rnd_29.txt, 04_primes_01.txt, 04_primes_02.txt
Case Name Status Exec Time Memory
00_max.txt WA 34 ms 3328 KB
00_max2.txt WA 34 ms 3328 KB
00_max3.txt WA 33 ms 3328 KB
00_min.txt WA 33 ms 3328 KB
00_sample_01.txt WA 33 ms 3328 KB
00_sample_02.txt WA 33 ms 3328 KB
00_sample_03.txt WA 33 ms 3328 KB
00_sample_04.txt WA 33 ms 3328 KB
01_rnd_00.txt WA 34 ms 3328 KB
01_rnd_01.txt WA 34 ms 3328 KB
01_rnd_02.txt WA 34 ms 3328 KB
01_rnd_03.txt WA 34 ms 3328 KB
01_rnd_04.txt WA 34 ms 3328 KB
01_rnd_05.txt WA 34 ms 3328 KB
01_rnd_06.txt WA 34 ms 3328 KB
01_rnd_07.txt WA 34 ms 3328 KB
01_rnd_08.txt WA 34 ms 3328 KB
01_rnd_09.txt WA 33 ms 3328 KB
01_rnd_10.txt WA 34 ms 3328 KB
01_rnd_11.txt WA 34 ms 3328 KB
01_rnd_12.txt WA 34 ms 3328 KB
01_rnd_13.txt WA 34 ms 3328 KB
01_rnd_14.txt WA 34 ms 3328 KB
01_rnd_15.txt WA 34 ms 3328 KB
01_rnd_16.txt WA 33 ms 3328 KB
01_rnd_17.txt WA 34 ms 3328 KB
01_rnd_18.txt WA 33 ms 3328 KB
01_rnd_19.txt WA 33 ms 3328 KB
01_rnd_20.txt WA 34 ms 3328 KB
01_rnd_21.txt WA 34 ms 3328 KB
01_rnd_22.txt WA 33 ms 3328 KB
01_rnd_23.txt WA 34 ms 3328 KB
01_rnd_24.txt WA 34 ms 3328 KB
01_rnd_25.txt WA 34 ms 3328 KB
01_rnd_26.txt WA 33 ms 3328 KB
01_rnd_27.txt WA 33 ms 3328 KB
01_rnd_28.txt WA 33 ms 3328 KB
01_rnd_29.txt WA 33 ms 3328 KB
04_primes_01.txt WA 34 ms 3328 KB
04_primes_02.txt WA 34 ms 3328 KB