nikunjsoni

629

Jun 20th, 2021
144
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.63 KB | None | 0 0
  1. class Solution {
  2. public:
  3.     int kInversePairs(int n, int k) {
  4.         vector<vector<int>> dp(n+1, vector<int>(k+1));
  5.         dp[0][0] = 1;
  6.         for(int i = 1; i <= n; ++i){
  7.             dp[i][0] = 1;
  8.             for(int j = 1; j <= k; ++j){
  9.                 dp[i][j] = (dp[i][j-1] + dp[i-1][j]) % mod;
  10.                 if(j - i >= 0){
  11.                     dp[i][j] = (dp[i][j] - dp[i-1][j-i] + mod) % mod;
  12.                     //It must + mod, If you don't know why, you can check the case 1000, 1000
  13.                 }
  14.             }
  15.         }
  16.         return dp[n][k];
  17.     }
  18. private:
  19.     const int mod = pow(10, 9) + 7;
  20. };
Advertisement
Add Comment
Please, Sign In to add comment