#include<bits/stdc++.h> using namespace std; int a[100010],dp[100010]; int n,ans=0x7fffffff+1; //0x7fffffff是int 32位整型的最大值,+1之后变成最小值 int main(){ cin>>n; //首先将ans设置为最小值, //dp[i]表示前i个元素的子序列的最大序列和,每次确定完之后将ans更新为最大值 for(int i=1;i<=n;i++){ cin>>a[i]; dp[i]=max(dp[i-1]+a[i],a[i]); ans=max(dp[i],ans); } cout<<ans<<endl; return 0; }
#include<bits/stdc++.h> using namespace std; int n,a[100010]; int ans=0x7fffffff+1; int main(){ cin>>n; for(int i=0;i<n;i++){ cin>>a[i]; } int sum=0; for(int i=0;i<n;i++){ if(sum+a[i]<0){ sum=0; }else{ sum+=a[i]; } ans=max(ans,sum); } cout<<ans<<endl; return 0; }
0.0分
0 人评分
C语言程序设计教程(第三版)课后习题6.5 (C++代码)浏览:704 |
不容易系列 (C语言代码)浏览:660 |
【出圈】 (C语言代码)用单项循环链表浏览:769 |
C语言程序设计教程(第三版)课后习题8.8 (C语言代码)浏览:577 |
简单的a+b (C语言代码)浏览:537 |
A+B for Input-Output Practice (IV) (C++代码)浏览:677 |
不容易系列 (C语言代码)浏览:666 |
不容易系列2 (C语言代码)浏览:590 |
C语言训练-排序问题<1> (C语言代码)浏览:600 |
程序员的表白 (C语言代码)浏览:661 |