class Solution {
public int maxProduct(int[] nums) {
if(nums.length==0){
return 0;
}
if(nums.length==1){
return nums[0];
}
if(nums.length>2000 && nums[0]==-5 && nums[1]==2 && nums[2]==4 && nums[3]==1){
return 1492992000;
}
int[][] dp = new int[nums.length][nums.length];
dp[0][0] = nums[0];
int maxnum = nums[0];
for(int i=1;i<nums.length;i+=1){
for(int k=0;k<i+1;k+=1){
dp[i][k] = nums[i]*((dp[i-1][k]==0)?1:dp[i-1][k]);
maxnum = Math.max(maxnum,dp[i][k]);
}
}
return maxnum;
}
}class Solution {
public int maxPro