3 条题解

  • 1
    @ 2025-10-26 20:00:36
    #include <bits/stdc++.h>
    using namespace std;
    const int N = 1e5 + 10;
    const int INF = 0x3f3f3f3f;
    int n;
    int a[N],dp[N],nmax = -INF;
    int main(){
    	cin >> n;
    	for(int i = 1;i <= n;i++){
    		cin >> a[i];
    	}
    	for(int i = 1;i <= n;i++){
    		dp[i] = a[i];
    		dp[i] = max(a[i],dp[i - 1] + a[i]);
    		//printf("dp[%d] = %d\n",i,dp[i]);
    		nmax = max(nmax,dp[i]);
    	}
    	cout << nmax;
    	return 0;
    }    
    
    
    • 1
      @ 2023-4-2 15:29:35
      #include<bits/stdc++.h>
      using namespace std;
      int n;
      int maxv=-114514;
      int A[110000];
      int dp[110000];
      int main(){
      	cin>>n;
      	for(int i=1;i<=n;i++){
      		cin>>A[i];
      	}
      	for(int i=1;i<=n;i++){
      		dp[i]=max(dp[i-1]+A[i],A[i]);
      		maxv=max(maxv,dp[i]); 
      	}
      	cout<<maxv;
      }
      
      • 1
        @ 2023-3-9 18:05:47

        f[i]表示以f[i]结尾的最大连续子序列的最大和。

        a[i]要么自己单独一个,要么和前面的连起来。

        则f[i]=max(a[i],f[i-1]+a[i]);

        #include<iostream>
        
        using namespace std;
        
        int main(){
        	int n;
        	cin>>n;
        	int a[n+10]={0},f[n+10]={0};
        	for(int i = 1; i <= n; i ++ ){
        		cin>>a[i];
        	}
        	for(int i = 1; i <= n; i ++ ){
        		f[i]=max(a[i],f[i-1]+a[i]);
        	}
        	int ans = -1;
        	for(int i = 1; i <= n; i ++ ){
        		ans = max(ans,f[i]);
        	}
        	cout<<ans;
        }#include<iostream>
        
        using namespace std;
        
        int main(){
        	int n;
        	cin>>n;
        	int a[n+10]={0},f[n+10]={0};
        	for(int i = 1; i <= n; i ++ ){
        		cin>>a[i];
        	}
        	for(int i = 1; i <= n; i ++ ){
        		f[i]=max(a[i],f[i-1]+a[i]);
        	}
        	int ans = -1;
        	for(int i = 1; i <= n; i ++ ){
        		ans = max(ans,f[i]);
        	}
        	cout<<ans;
        }
        
        • 1

        信息

        ID
        1763
        时间
        1000ms
        内存
        256MiB
        难度
        6
        标签
        递交数
        279
        已通过
        85
        上传者