414B - Mashmokh and ACM - CodeForces Solution


combinatorics dp number theory *1400

Please click on ads to support us..

C++ Code:

#include <bits/stdc++.h>
using namespace std;

#define int long long int
const int mod = 1e9 + 7;

int fun(int i, int k, vector<vector<int>> &dp, int total)
{
    if (k <= 0)
        return 1;

    if (dp[i][k] != -1)
        return dp[i][k];

    int sum = 0;
    for (int j = i; j <= total; j += i)
        sum += fun(j, k - 1, dp, total) % mod;
        
    return dp[i][k] = sum % mod;
}

int32_t main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(NULL);
    cout.tie(NULL);
    vector<vector<int>> dp(2005, vector<int>(2005, -1));

    int n, k;
    cin >> n >> k;
    int total = n;
    cout << fun(1, k, dp, n);

    return 0;
}


Comments

Submit
0 Comments
More Questions

97. Interleaving String
543. Diameter of Binary Tree
124. Binary Tree Maximum Path Sum
1465. Maximum Area of a Piece of Cake After Horizontal and Vertical Cuts
501A - Contest
160A- Twins
752. Open the Lock
1535A - Fair Playoff
1538F - Interesting Function
1920. Build Array from Permutation
494. Target Sum
797. All Paths From Source to Target
1547B - Alphabetical Strings
1550A - Find The Array
118B - Present from Lena
27A - Next Test
785. Is Graph Bipartite
90. Subsets II
1560A - Dislike of Threes
36. Valid Sudoku
557. Reverse Words in a String III
566. Reshape the Matrix
167. Two Sum II - Input array is sorted
387. First Unique Character in a String
383. Ransom Note
242. Valid Anagram
141. Linked List Cycle
21. Merge Two Sorted Lists
203. Remove Linked List Elements
733. Flood Fill