CSES - Putka Open 2020 – 5/5 - Results
Submission details
Task:Järjestys
Sender:Metabolix
Submission time:2020-11-27 20:22:41 +0200
Language:CPython3
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED26
#2ACCEPTED74
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1, 2details
#2ACCEPTED0.09 s2details
#3ACCEPTED0.10 s2details

Code

#!/usr/bin/python

MOD = 10**9 + 7
t = int(input())
for _ in range(t):
	n, x = list(map(int, input().split()))
	a = list(map(int, input().split()))
	a.sort()
	# Luvut käydään läpi suurimmasta alkaen.
	laitettu = [a.pop()]
	tulos = 1
	while len(a):
		luku = a.pop()
		# Alkuun voi laittaa.
		tapoja = 1
		for edellinen in laitettu:
			# Sopivan luvun jälkeen voi laittaa,
			if edellinen - luku <= x:
				tapoja += 1
		# Vaihtoehtoja aiempien lukujen järjestykselle * tämän paikalle.
		tulos *= tapoja
		tulos %= MOD
		laitettu.append(luku)
	print(tulos)

Test details

Test 1

Group: 1, 2

Verdict: ACCEPTED

input
100
5 20
65 49 97 55 9
6 33
42 32 10 92 60 37
...

correct output
6
192
4
72
288
...

user output
6
192
4
72
288
...
Truncated

Test 2

Group: 2

Verdict: ACCEPTED

input
100
85 980
570 804 393 119 973 743 345 46...

correct output
753889928
541098438
241592657
827522722
403761060
...

user output
753889928
541098438
241592657
827522722
403761060
...
Truncated

Test 3

Group: 2

Verdict: ACCEPTED

input
100
100 1
1 2 3 4 5 6 7 8 9 10 11 12 13 ...

correct output
988185646
196898158
546822979
56844088
346866189
...

user output
988185646
196898158
546822979
56844088
346866189
...
Truncated