Task: | Järjestys |
Sender: | Olli |
Submission time: | 2020-11-27 18:37:22 +0200 |
Language: | C++ (C++11) |
Status: | READY |
Result: | 100 |
group | verdict | score |
---|---|---|
#1 | ACCEPTED | 26 |
#2 | ACCEPTED | 74 |
test | verdict | time | group | |
---|---|---|---|---|
#1 | ACCEPTED | 0.01 s | 1, 2 | details |
#2 | ACCEPTED | 0.01 s | 2 | details |
#3 | ACCEPTED | 0.01 s | 2 | details |
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 secondconst 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 |