Submission #1306915

#TimeUsernameProblemLanguageResultExecution timeMemory
1306915Double_SlashAsceticism (JOI18_asceticism)C++20
49 / 100
1096 ms1232 KiB
#pragma GCC optimize("O3,unroll-loops,inline")
#include <bits/stdc++.h>
#pragma GCC target("avx2")

using namespace std;
using ll = long long;

const int M = 1e9 + 7;

int main() {
    int N, K;
    cin >> N >> K;
    ll dp[N]{1};
    for (int n = 1; n <= N; ++n) {
        for (int k = n; --k;) {
            dp[k] = dp[k] * (k + 1) % M + dp[k - 1] * (n - k) % M;
        }
    }
    cout << dp[K - 1] % M;
}
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...