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)