Submission #895983

#TimeUsernameProblemLanguageResultExecution timeMemory
895983Vedant_05A Huge Tower (CEOI10_tower)C++17
30 / 100
79 ms11436 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; typedef vector<int> vi; typedef vector<ll> vl; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef vector<pair<int, int>> vpi; typedef vector<pair<ll, ll>> vpl; #define pb(a) push_back(a) #define pbr(a,b) pb(make_pair(a,b)) #define fr(i, a, b) for(int i = a; i <= b; i++) #define rf(i, a, b) for(int i = a; i >= b; i--) #define all(c) (c).begin(), (c).end() #define rall(c) (c).rbegin(), (c).rend() #define F first #define S second ll M = 1e9 + 7; //998244353; const int N = 100001; ll binpow(ll a, ll b){ ll ans = 1; while(b > 0){ if(b&1) ans = (ans * a) % M; a = (a*a) % M; b >>= 1; } return ans; } bool sS(pi p1, pi p2){ return (p1.S < p2.S); } bool sF(pi p1, pi p2){ return (p1.F < p2.F); } void solve() { ll n, d; cin >> n >> d; ll a[n+1]; fr(i, 1, n) cin >> a[i]; a[0] = -4e18; sort(a, a+n+1); int l = 0; ll ans = 1; fr(i, 2, n){ while(a[l+1]+d < a[i]) l++; ans = (ans * (i-l)) % M; } cout << ans << "\n"; } int main() { ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0); // freopen(".in", "r", stdin); // freopen(".out", "w", stdout); int t=1; // cin >> t; for(int i = 1; i <= t; i++) { // cout << "t: " << t << "\n"; solve(); } 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...