5 条题解

  • 1
    @ 2025-11-1 10:30:44
    #include<bits/stdc++.h>
    using namespace std;
    int n,a[100010],s,maxn=INT_MIN;
    int main()
    {
    	cin>>n;
    	for(int i=1;i<=n;i++)cin>>a[i];
    	for(int i=1;i<=n;i++){
    		s+=a[i];
    		if(s>maxn)maxn=s;
    		if(s<=0)s=0;
    	}
    	cout<<maxn;
    	return 0;
     }
    
    • 1
      @ 2025-10-18 12:56:52

      #include<bits/stdc++.h> using namespace std; int n,a[100010],s,maxn=INT_MIN; int main() { cin>>n; for(int i=1;i<=n;i++)cin>>a[i]; for(int i=1;i<=n;i++){ s+=a[i]; if(s>maxn)maxn=s; if(s<=0)s=0; } cout<<maxn; return 0; }

      • -1
        @ 2025-7-9 12:44:34
        #include<bits/stdc++.h>
        using namespace std;
        int n,a,b,ans;
        int main(){
        	scanf("%d%d",&n,&b);ans=b;
        	for(int i=2;i<=n;i++){
        		scanf("%d",&a);
        		b=max(a+b,a);
        		ans=max(b,ans);
        	}
        	printf("%d",ans);
        	return 0;
        }
        
        • -1
          @ 2025-7-1 14:56:15
          #include<bits/stdc++.h>
          using namespace std;
          long long b[100001];
          int n,a[100001],res=-99999;
          int main(){
          	cin>>n;
          	for(int i=1;i<=n;i++){
          		cin>>a[i];
          		if(b[i-1]>0)b[i]=b[i-1]+a[i];
          		else b[i]=a[i];
          	}
          	for(int i=1;i<=n;i++){
          		if(res<b[i])res=b[i];
          	}
          	cout<<res;
          }
          
          • -1
            @ 2022-8-2 11:12:41
            #include<bits/stdc++.h>
            using namespace std;
            long n,i,j,a[1000005],s,ma,f[1000005],b[1000050],l;
            bool flag;
            int main()
            {
            	cin>>n;
            	for(i=1;i<=n;i++)cin>>a[i];
            	for(i=1;i<=n;i++)
            	  if(a[i]>=0)flag=1;
            	if(!flag){
            	   sort(a+1,a+n+1);
            	   cout<<a[n];
            	   return 0;
               }
            	for(i=2;i<n+2;i++)b[i]=a[i-1];
            	for(i=1;i<=n;i++)
            	{
            		j=f[i-1]+b[i];l=0;
            		f[i]=max(j,l);
            		if(ma<f[i])ma=f[i];
            	}cout<<ma;
            	return 0;
            }
            • 1

            信息

            ID
            44
            时间
            1000ms
            内存
            256MiB
            难度
            5
            标签
            (无)
            递交数
            214
            已通过
            87
            上传者