Submission #890728

# Submission time Handle Problem Language Result Execution time Memory
890728 2023-12-21T19:49:07 Z eric_ge A Huge Tower (CEOI10_tower) C++17
100 / 100
110 ms 11344 KB
#include <bits/stdc++.h>
using namespace std;
using ll = long long int;
using ld = long double;

#define F0R(i, a, b) for (int i = (a); i < (b); i++)
#define FOR(i, a) F0R(i, 0, a)

#define f first
#define s second

int cx[] = {0, 1, 0, -1};
int cy[] = {1, 0, -1, 0};

const ll INF = 1e9 + 9;

bool cpr(ll a, ll b)
{
	return {a > b};
}

int main() 
{
	ios::sync_with_stdio(false);
	cin.tie(nullptr);

	ll n, diff;
	cin >> n >> diff;

	vector<ll> nums(n);

	FOR(i, n) cin >> nums[i];

	sort(nums.begin(), nums.end(), cpr);

	ll ans = 1;
	ll r = 0;
	ll l = 0;



	while(r != n && l != n)
	{
		while (nums[l] + diff >= nums[r] && l != n)
		{
			ans *= (l - r + 1);
			ans = ans % INF;
			l++;
		}

		r++;
	}

	cout << ans;

	

	return 0;
}
# Verdict Execution time Memory Grader output
1 Correct 1 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 344 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 452 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 460 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 0 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 1 ms 348 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 2 ms 604 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 9 ms 1116 KB Output is correct
2 Correct 9 ms 1108 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 51 ms 4688 KB Output is correct
2 Correct 44 ms 4956 KB Output is correct
# Verdict Execution time Memory Grader output
1 Correct 88 ms 11344 KB Output is correct
2 Correct 110 ms 10688 KB Output is correct