Submission #1370143

#TimeUsernameProblemLanguageResultExecution timeMemory
1370143thanh09A Huge Tower (CEOI10_tower)C++20
100 / 100
69 ms2664 KiB
#include <bits/stdc++.h>
#define fi first
#define se second

using namespace std;

const long long oo = 1e18;
const long long MOD = 1e9 + 9;

int n, d;
int a[1000009];

signed main()
{
    #define taskin "code"
    #define taskout "code"
    if(fopen(taskin".inp", "r"))
    {
        freopen(taskin".inp", "r", stdin);
        freopen(taskout".out", "w", stdout);
    }

    ios_base::sync_with_stdio(false);
    cin.tie(nullptr);
    cout.tie(nullptr);

    cin >> n >> d;

    for(int i = 1; i <= n; ++i) cin >> a[i];
    sort(a + 1, a + 1 + n);

    int ct = 1;
    long long ans = 1;
    for(int i = 1; i <= n; ++i)
    {
        while(ct < i && a[i] - a[ct] > d) ++ct;
        ans *= (i - ct + 1);
        ans %= MOD;
      //  cout << ct << ' ' << a[i] - a[ct] << endl;
    }
    cout << ans;

    return 0;
}


Compilation message (stderr)

tower.cpp: In function 'int main()':
tower.cpp:19:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   19 |         freopen(taskin".inp", "r", stdin);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~
tower.cpp:20:16: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   20 |         freopen(taskout".out", "w", stdout);
      |         ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...
#Result Execution timeMemoryGrader output
Fetching results...