Submission #4421262


Source Code Expand

#include <stdio.h>
#define int long long
#define p (int)(1e9 + 7)

int MOD(int a){
	a %= p;
	return a >= 0 ? a : a + p;
}

int power(int a, int N){
	if(N == 0){
		return 1;
	}
	else if(N % 2 == 0){
		return power(MOD(a * a), N / 2);
	}
	else{
		return MOD(a * power(a, N - 1));
	}
}

int inverse(int a){
	return power(a, p - 2);
}

int comb(int N, int k){
	if(k == 0){
		return 1;
	}
	else{
		return MOD(MOD(N * inverse(k)) * comb(N - 1, k - 1));
	}
}

signed main(){
	int N, M, i, j, ans;
	scanf("%lld%lld", &N, &M);
	if(N < 0){
		N = -N;
	}
	ans = power(2, M - 1);
	for(i = 2; i * i <= N; i++){
		for(j = 0; N % i == 0; j++, N /= i);
		ans = MOD(ans * comb(M - 1 + j, j));
	}
	if(N > 1){
		ans = MOD(ans * M);
	}
	printf("%lld\n", ans);
	return 0;
}

Submission Info

Submission Time
Task D - 表現の自由 ( Freedom of expression )
User abc050
Language C (GCC 5.4.1)
Score 100
Code Size 801 Byte
Status AC
Exec Time 1 ms
Memory 128 KB

Compile Error

./Main.c: In function ‘main’:
./Main.c:37:2: warning: ignoring return value of ‘scanf’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%lld%lld", &N, &M);
  ^

Judge Result

Set Name All
Score / Max Score 100 / 100
Status
AC × 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 AC 1 ms 128 KB
00_max2.txt AC 1 ms 128 KB
00_max3.txt AC 1 ms 128 KB
00_min.txt AC 1 ms 128 KB
00_sample_01.txt AC 1 ms 128 KB
00_sample_02.txt AC 1 ms 128 KB
00_sample_03.txt AC 1 ms 128 KB
00_sample_04.txt AC 1 ms 128 KB
01_rnd_00.txt AC 1 ms 128 KB
01_rnd_01.txt AC 1 ms 128 KB
01_rnd_02.txt AC 1 ms 128 KB
01_rnd_03.txt AC 1 ms 128 KB
01_rnd_04.txt AC 1 ms 128 KB
01_rnd_05.txt AC 1 ms 128 KB
01_rnd_06.txt AC 1 ms 128 KB
01_rnd_07.txt AC 1 ms 128 KB
01_rnd_08.txt AC 1 ms 128 KB
01_rnd_09.txt AC 1 ms 128 KB
01_rnd_10.txt AC 1 ms 128 KB
01_rnd_11.txt AC 1 ms 128 KB
01_rnd_12.txt AC 1 ms 128 KB
01_rnd_13.txt AC 1 ms 128 KB
01_rnd_14.txt AC 1 ms 128 KB
01_rnd_15.txt AC 1 ms 128 KB
01_rnd_16.txt AC 1 ms 128 KB
01_rnd_17.txt AC 1 ms 128 KB
01_rnd_18.txt AC 1 ms 128 KB
01_rnd_19.txt AC 1 ms 128 KB
01_rnd_20.txt AC 1 ms 128 KB
01_rnd_21.txt AC 1 ms 128 KB
01_rnd_22.txt AC 1 ms 128 KB
01_rnd_23.txt AC 1 ms 128 KB
01_rnd_24.txt AC 1 ms 128 KB
01_rnd_25.txt AC 1 ms 128 KB
01_rnd_26.txt AC 1 ms 128 KB
01_rnd_27.txt AC 1 ms 128 KB
01_rnd_28.txt AC 1 ms 128 KB
01_rnd_29.txt AC 1 ms 128 KB
04_primes_01.txt AC 1 ms 128 KB
04_primes_02.txt AC 1 ms 128 KB