有一点点不太明白
#include <bits/stdc++.h>
using namespace std;
long long a[1000010],maxx[1000010],minn[1000010];
int main()
{
int n;
cin >> n;
for(int i=0;i<n;i++) cin >> a[i];
long long s=a[0];
for(int i=1;i<n;i++){
//有点点想不明白
maxx[i]=max(a[i],max(a[i]*maxx[i-1],a[i]*minn[i-1]));
minn[i]=min(a[i],min(a[i]*maxx[i-1],a[i]*minn[i-1]));
s=max(maxx[i],s);//得更新最值
}
cout << s;
}