Submission #1262843

#TimeUsernameProblemLanguageResultExecution timeMemory
1262843ermiooo158A Huge Tower (CEOI10_tower)C++17
5 / 100
13 ms3396 KiB
//Time Complexity: O(N) //Space Complexity: O(N) #include <bits/stdc++.h> #define endl '\n' #define endll '*' << endl #define endlll "&" << endl #define ll long long #define pii pair<ll, ll> #define F first #define S second #define pb push_back #define all(x) (x).begin(), (x).end() #define flush cout.flush //#define int long long //fast debug #define migmig ios_base::sync_with_stdio(0);cin.tie(0);cout.tie(0) using namespace std; int constexpr maxn = 2e5 + 15, mod = 1e9 + 7; ll a[maxn], fact[maxn], n, d; void precalc() { fact[0] = 1; for(int i = 1;i < maxn;i++) fact[i] = (fact[i - 1] * i) % mod; } void findAns() { ll cnt = 1, ans = 1, id = 0; sort(a, a + n); for(int i = 1;i < n;i++) { if(a[i] > a[id] + d) { ans = (ans * fact[cnt]) % mod; cnt = 1; id = i; } else { cnt++; } } ans = (ans * fact[cnt]) % mod; cout << ans << endl; } void read_input() { cin >> n >> d; for(int i = 0;i < n;i++) cin >> a[i]; } int main(){ migmig; precalc(); int t = 1;//cin >> t; while(t--){ read_input(); findAns(); } }
#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...