为啥这样写不对? ``` vector<vector<int>> dp(n + 1, vector<int>(7, INT_MIN));     dp[0][0] = 0;  // 一个数都不选          for (int i = 1; i <= n; ++i) {         for (int j = 0; j < 7; ++j) {             int last = ((j - nums[i - 1]) % 7 + 7) % 7;             // 如果选了nums[i],就从dp[i - 1][j - nums[i]]转移而来             dp[i][j] = max(dp[i - 1][j], dp[i - 1][last] + nums[i - 1]);         }     }     cout << dp[n][0] << endl; ```