1 条题解

  • 0
    @ 2025-10-26 20:14:31

    蠢方法(暴力)

    #include <bits/stdc++.h>
    using namespace std;
    const int N = 1e7 + 10;
    const int INF = 0x3f3f3f3f;
    int n;
    long long a[N],dpm[N],dpn[N],nmax = -INF,nmin = INF;
    int main(){
    	cin >> n;
    	for(int i = 1;i <= n;i++){
    		cin >> a[i];
    	}
    	dpn[0] = dpm[0] = 1;
    	for(int i = 1;i <= n;i++){
    		dpm[i] = a[i];
    		dpm[i] = max(a[i],dpm[i - 1] * a[i]);
    		dpn[i] = a[i];
    		dpn[i] = min(a[i],dpn[i - 1] * a[i]);
    		dpm[i] = max(dpm[i],dpn[i - 1] * a[i]);
    		dpn[i] = min(dpn[i],dpm[i - 1] * a[i]);
    		//printf("dpm[%d] = %d\n",i,dpm[i]);
    		//printf("dpn[%d] = %d\n",i,dpn[i]);
    		nmax = max(nmax,dpm[i]);
    		nmin = min(nmin,dpn[i]);
    	}
    	cout << nmax << endl << nmin;
    	return 0;
    }    
    
    

    信息

    ID
    1764
    时间
    1000ms
    内存
    256MiB
    难度
    9
    标签
    递交数
    98
    已通过
    9
    上传者