CSES - Putka Open 2020 – 5/5 - Results
Submission details
Task:Järjestys
Sender:Sisuaski
Submission time:2020-11-29 10:16:37 +0200
Language:C++17
Status:READY
Result:100
Feedback
groupverdictscore
#1ACCEPTED26
#2ACCEPTED74
Test results
testverdicttimegroup
#1ACCEPTED0.01 s1, 2details
#2ACCEPTED0.01 s2details
#3ACCEPTED0.01 s2details

Code

#include <iostream>
#include <algorithm>
using namespace std;
int as[1024];
const int Z = 1e9+7;
int main() {
	int t;cin>>t;
	while(t--){
		int n,x;cin>>n>>x;
		for(int i=0; i<n; ++i) cin>>as[i];
		sort(as,as+n);
		long long res=1;
		for(int i=1,j=0; i<n; ++i) {
			while(j<i && as[i]-as[j]>x) ++j;
			res = res*(i-j+1) % Z;
		}
		cout<<res<<'\n';
	}
}

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