Submission #1262878

#TimeUsernameProblemLanguageResultExecution timeMemory
1262878ermiooo158A Huge Tower (CEOI10_tower)C++17
30 / 100
11 ms1864 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], n, d; void mul(ll &ans, ll val) { double x = ans * val; ll i = 0; while(mod * (i + 1) < x) i++; x -= i * mod; ans = x; } void findAns() { ll ans = 1; sort(a, a + n); ll p1 = 0, p2 = 0; while(p1 < n) { while(p2 + 1 < n && a[p2 + 1] <= a[p1] + d) p2++; ll val = (p2 - p1 + 1 + mod) % mod; ans = (ll)(1LL * ans * val) % mod; p1++; } 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...