CSES - Putka Open 2020 – 5/5 - Results
Submission details
Task:Järjestys
Sender:Mahtimursu
Submission time:2020-11-27 18:26:54 +0200
Language:C++ (C++11)
Status:READY
Result:26
Feedback
groupverdictscore
#1ACCEPTED26
#20
Test results
testverdicttimegroup
#1ACCEPTED0.03 s1, 2details
#2--2details
#3--2details

Code

#include <bits/stdc++.h>
typedef long long ll;
#define M 1000000007
using namespace std;
void test_case() {
int n, x;
cin >> n >> x;
vector<int> v(n);
for (int i = 0; i < n; ++i) {
cin >> v[i]; // muista vaihtaa main
}
}
int nums[8];
bool used[8];
int cur[8];
int ans;
int n, x;
void rec(int p) {
if (n == p) {
ans++;
}
for (int i = 0; i < n; ++i) {
if (used[i]) continue;
if (cur[p-1] - x > nums[i]) continue;
used[i] = 1;
cur[p] = nums[i];
rec(p+1);
used[i] = 0;
}
}
void slow() {
cin >> n >> x;
ans = 0;
for (int i = 0; i < n; ++i) {
cin >> nums[i];
cur[i] = 0;
used[i] = 0;
}
for (int i = 0; i < n; ++i) {
used[i] = 1;
cur[0] = nums[i];
rec(1);
used[i] = 0;
}
cout << ans;
}
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int t;
cin >> t;
for (int i = 0; i < t; ++i) {
slow();
cout << "\n";
}
return 0;
}

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:

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

correct output
753889928
541098438
241592657
827522722
403761060
...

user output
(empty)

Test 3

Group: 2

Verdict:

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
(empty)