class Solution {
public:
int maxProduct(vector<int>& nums) {
int res=nums[0];
int f=nums[0];
int g=nums[0];
for(int i=1;i<nums.size();i++)
{
int a=nums[i];
int fa=f*a;
int ga=g*a;
f=max(a, max(fa, ga));
g=min(a, min(fa, ga));
res=max(res, f);
}
return res;
}
};