为啥这样写不对? ``` 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; ```