6 条题解

  • 1
    @ 2026-3-16 17:03:19
    #include<bit/stdc++.h>
    using namespace std;
    long long n,x,s,p,m = INT_MIN/*在1的基础上改为INT_MIN*/,a[1000100];
    int main()
    {
    	cin >> n;
    	for (int i = 1;i <= n; ++ i) cin >> a[i];
    	for (int i = 1;i <= n; ++ i)
    	{
    		if (s > 0) s += a[i];
    		else s = a[i];
    		m = max (m,s);
    	}
    	cout >> m;
    }
    

    复制=CE

    • 0
      @ 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;
       }
      
      • 0
        @ 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; }

        • -2
          @ 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;
          }
          
          • -2
            @ 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;
            }
            
            • -2
              @ 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
              难度
              4
              标签
              (无)
              递交数
              224
              已通过
              95
              上传者