제출 #856619

#제출 시각아이디문제언어결과실행 시간메모리
856619HanavMA Huge Tower (CEOI10_tower)C++17
100 / 100
215 ms10504 KiB
// Source: https://usaco.guide/general/io

#include <bits/stdc++.h>
using namespace std;
typedef long long ll;
ll mod = 1e9 + 9;

int main() {
	ll n, d; cin >> n >> d;
	vector <ll> blocks(n);
	for (int i=0;i<n;i++){
		cin >> blocks[i];
	}
	int left = 0; int right = 0;
	ll ans = 1;
	sort(begin(blocks),end(blocks));
	for (int i=1;i<n;i++){
		ll constant = blocks[i] - d;
		while (left < n){
			if (blocks[left] < constant){
				left++;
			}
			else{
				break;
			}
		}
		right ++;
		// cout <<i <<" " << left << " " << right << endl;
		if (left != right){
			ans = ans * (right - left + 1);
			ans = ans % mod;
		}
	}
	cout << ans % mod;
}
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…
#결과 실행 시간메모리채점기 출력
결과를 불러오는 중입니다…