Submission #586595

#TimeUsernameProblemLanguageResultExecution timeMemory
586595blueSkyscraper (JOI16_skyscraper)C++17
5 / 100
2053 ms212 KiB
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

using ll = long long;
using vi = vector<int>;

const ll mod = 1'000'000'007LL;

ll ad(ll a, ll b)
{
	return (a+b) % mod;
}

int main()
{
	int N, L;
	cin >> N >> L;

	vi A(N);
	for(int i = 0; i < N; i++)
		cin >> A[i];

	sort(A.begin(), A.end());

	int f = 1;
	for(int i = 1; i <= N; i++)
		f = f * i;

	int res = 0;

	for(int z = 1; z <= f; z++)
	{
		next_permutation(A.begin(), A.end());

		int ct = 0;

		for(int i = 0; i+1 < N; i++)
			ct += abs(A[i] - A[i+1]);

		res += (ct <= L);
	}

	cout << res << '\n';
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...