Advertisement
Ahmed_Negm

Untitled

Mar 19th, 2025
138
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.48 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2. using namespace std;
  3.  
  4. #define ll long long
  5. #define nl "\n"
  6.  
  7. void files(){
  8.     ios_base::sync_with_stdio(false),cin.tie(NULL),cout.tie(NULL);
  9.     #ifndef ONLINE_JUDGE
  10.         freopen("input.txt", "r", stdin), freopen("output.txt", "w", stdout);
  11.     #endif
  12. }
  13.  
  14. const int mod = 1000000009;
  15.  
  16. vector<int> primes;
  17.  
  18. void sieve(ll n){
  19.     vector<bool> is_prime(n + 1, true);
  20.     is_prime[0] = is_prime[1] = false;
  21.     for (int i = 2; i <= n; i++){
  22.         if (is_prime[i]){
  23.             primes.push_back(i);
  24.             for (int j = i * i; j <= n; j += i) is_prime[j] = false;
  25.         }
  26.     }
  27. }
  28.  
  29.  
  30.  
  31. void solve(){
  32.     ll n,k; cin>>n>>k;
  33.     sieve(n);
  34.    
  35.     ll ans = 1;
  36.     for (auto& p : primes){
  37.         vector<int> cnt(n + 1, 0);
  38.         for (int i = 1; i <= n; i++){
  39.             int num = i;
  40.             while (num % p == 0){
  41.                 cnt[i]++;
  42.                 num /= p;
  43.             }
  44.         }
  45.        
  46.         vector<vector<ll>> dp(n+1, vector<ll>(k+1, 0));
  47.         for (int i = 0; i <= n; i++) dp[i][0] = cnt[i];
  48.        
  49.         for (int j = 1; j <= k; j++){
  50.             dp[0][j] = 0;
  51.             for (int i = 1; i <= n; i++){
  52.                 dp[i][j] = dp[i][j - 1]+dp[i - 1][j];
  53.                 dp[i][j] %= mod;
  54.             }
  55.         }
  56.        
  57.         ans = (ans * (dp[n][k] + 1)) % mod;
  58.     }
  59.    
  60.     cout<<ans<<nl;
  61.  
  62. }
  63.  
  64. int main(){
  65.     files();
  66.     int t = 1;
  67.     //cin>>t;
  68.     while(t--) solve();
  69.  
  70.     return 0;
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement