dp[n]=max(i*dp[n-i],i*(n-i))
class Solution {
public:
int integerBreak(int n) {
vector<int> table;
table.push_back(0);
table.push_back(1);
for(int i=2;i<=n;i++)
{
int max_flag=INT_MIN;
for(int j=1;j<=i-1;j++)
{
max_flag = max(max_flag,table[j]*(i-j));
max_flag = max(max_flag,j*(i-j));
}
table.push_back(max_flag);
}
return table[n];
}
};