CSES - Putka Open 2020 – 5/5 - Results
Submission details
Task:Järjestys
Sender:Olli
Submission time:2020-11-27 18:37:22 +0200
Language:C++11
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 <fstream>
#include <vector>
#include <algorithm>
#include <queue>
#include <stack>
#include <set>

using namespace std;

typedef long long ll;
typedef long double ld;
typedef pair<int, int> pii;
typedef pair<ll, ll> pll;

#define F first
#define S second
#define X first
#define Y second

const int N = 1e5 + 5;
const ll INF = 1e18;

const ll M = 1e9 + 7;

int main() {
	int t;
	cin >> t;
	while(t > 0) {
		--t;

		int n;
		cin >> n;
		int x;
		cin >> x;

		vector<int> a;
		for(int i = 1; i <= n; ++i) {
			int A; cin >> A;
			a.push_back(A);
		}
		sort(a.begin(), a.end());


		ll ans = 1;

		for(int i = 2; i <= n; ++i) {
			//Add a[i]

			ll cur = 1;
			for(int j = 0; j < i-1; ++j) {
				if(a[j] >= a[i-1] - x) {
					++cur;
				}
			}
			ans *= cur;
			ans %= M;

		}
		cout << ans << "\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