Submission #734123

#TimeUsernameProblemLanguageResultExecution timeMemory
734123studyA Huge Tower (CEOI10_tower)C++17
30 / 100
93 ms11208 KiB
#include <bits/stdc++.h>
#define int long long
using namespace std;

const int N = 1e6, mod = 1e9+7;

int a[N];

int32_t main(){
	ios::sync_with_stdio(0);
	cin.tie(0);
	int n,d;
    cin >> n >> d;
    for (int i=0; i<n; ++i){
        cin >> a[i];
    }
    sort(a,a+n);
    int fin = 0, ans = 1;
    for (int i=0; i<n; ++i){
        while (fin < n and a[fin] <= d+a[i]){
            fin++;
        }
        int res = fin-i;
        ans = (ans*res)%mod;
    }
    cout << ans;
	return 0;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...