Submission #8012866


Source Code Expand

#設定
import sys
input = sys.stdin.buffer.readline

#ライブラリインポート
from collections import defaultdict
from fractions import gcd

#入力受け取り
def getlist():
	return list(map(int, input().split()))

#処理内容
def main():
	N, K = getlist()
	A = getlist()
	G = []
	if ((K ** 0.5) // 1) ** 2 == K:
		x = int((K ** 0.5) // 1)
		for i in range(1, x):
			if K % i == 0:
				G.append(i)
		n = len(G)
		for i in range(n):
			G.append(K // G[i])
		G.append(int((K ** 0.5) // 1))

	else:
		x = int((K ** 0.5) // 1)
		for i in range(1, x + 1):
			if K % i == 0:
				G.append(i)
		n = len(G)
		for i in range(n):
			G.append(K // G[i])

	D = defaultdict(int)
	for i in range(N):
		D[gcd(A[i], K)] += 1
	
	ans = 0
	n = len(G)
	for i in range(n):
		for j in range(i, n):
			if (G[i] * G[j]) % K == 0:
				if i != j:
					ans += (D[G[i]] * D[G[j]])
				else:
					ans += ((D[G[i]] - 1) * D[G[j]]) // 2
	print(ans)

	


if __name__ == '__main__':
	main()

Submission Info

Submission Time
Task C - ロト2
User su_565fx
Language Python (3.4.3)
Score 400
Code Size 1023 Byte
Status AC
Exec Time 361 ms
Memory 24052 KB

Judge Result

Set Name Sample All
Score / Max Score 0 / 0 400 / 400
Status
AC × 3
AC × 25
Set Name Test Cases
Sample 00_example_01.txt, 00_example_02.txt, 00_example_03.txt
All 00_example_01.txt, 00_example_02.txt, 00_example_03.txt, 10_random_01.txt, 10_random_02.txt, 10_random_03.txt, 10_random_04.txt, 10_random_05.txt, 20_max_01.txt, 20_max_02.txt, 20_max_03.txt, 20_max_04.txt, 20_max_05.txt, 30_overflow_01.txt, 30_overflow_02.txt, 40_dmax_01.txt, 40_dmax_02.txt, 40_dmax_03.txt, 50_prime_01.txt, 50_prime_02.txt, 50_prime_03.txt, 60_prime_pow_01.txt, 60_prime_pow_02.txt, 60_prime_pow_03.txt, 70_one_01.txt
Case Name Status Exec Time Memory
00_example_01.txt AC 35 ms 5092 KB
00_example_02.txt AC 35 ms 5048 KB
00_example_03.txt AC 35 ms 5048 KB
10_random_01.txt AC 35 ms 5092 KB
10_random_02.txt AC 36 ms 5092 KB
10_random_03.txt AC 35 ms 5048 KB
10_random_04.txt AC 36 ms 5048 KB
10_random_05.txt AC 35 ms 5048 KB
20_max_01.txt AC 177 ms 21888 KB
20_max_02.txt AC 169 ms 23100 KB
20_max_03.txt AC 229 ms 22940 KB
20_max_04.txt AC 164 ms 22872 KB
20_max_05.txt AC 259 ms 24052 KB
30_overflow_01.txt AC 174 ms 20568 KB
30_overflow_02.txt AC 174 ms 20576 KB
40_dmax_01.txt AC 359 ms 23208 KB
40_dmax_02.txt AC 355 ms 23220 KB
40_dmax_03.txt AC 361 ms 23208 KB
50_prime_01.txt AC 180 ms 21732 KB
50_prime_02.txt AC 203 ms 23376 KB
50_prime_03.txt AC 227 ms 22984 KB
60_prime_pow_01.txt AC 230 ms 22972 KB
60_prime_pow_02.txt AC 225 ms 22804 KB
60_prime_pow_03.txt AC 221 ms 22736 KB
70_one_01.txt AC 138 ms 21784 KB