这是题面
#include<bits/stdc++.h>
using namespace std;
int n,ans=-2147483647;
long long a[100033],f[100033],g[100033];
long long maxm(int x,int y,int z){return x>=(y>=z?y:z)?x:(y>=z?y:z);}
long long minm(int x,int y,int z){return x<=(y<=z?y:z)?x:(y<=z?y:z);}
int main()
{
scanf("%d",&n);
for(int i=1;i<=n;++i)
scanf("%d",&a[i]);
f[1]=a[1];g[1]=a[1];ans=a[1];
for(int i=2;i<=n;++i)
{
f[i]=maxm(a[i],f[i-1]*a[i],g[i-1]*a[i]);
g[i]=minm(a[i],f[i-1]*a[i],g[i-1]*a[i]);
ans=ans>=f[i]?ans:f[i];
}
printf("%d",ans);
return 0;
}
这是代码
为什么爆0了啊