제출 #899703

#제출 시각아이디문제언어결과실행 시간메모리
899703ivazivaA Huge Tower (CEOI10_tower)C++14
90 / 100
1067 ms8684 KiB
#include <bits/stdc++.h>

using namespace std;

#define MOD 1000000009
#define MAXN 10000001

long long n,d;
long long niz[MAXN];
long long val[MAXN];

int main()
{
  ios_base::sync_with_stdio(false);
  ios::sync_with_stdio(false);
  cin.tie(0);
  cout.tie(0);
  cin>>n>>d;
  for (long long i=1;i<=n;i++) cin>>niz[i];
  sort(niz+1,niz+n+1);
  for (long long i=1;i<=n;i++)
  {
    long long br=0;
    for (long long j=i-1;j>=1;j--)
    {
      if (niz[i]-niz[j]<=d) br++;
      else break;
    }
    val[i]=br;
  }
  long long ans=1;
  for (long long i=1;i<=n;i++)
  {
    ans*=(val[i]+1);
    if (ans>=MOD) ans%=MOD;
  }
  cout<<ans<<endl;
}
#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...