-
Max Sum
- HDU - 100
- 注意更新时一旦有使得sum<0的情况直接跳到下个开始就行
-
#include <iostream> using namespace std; #define maxn 111000 #define inf 0x3f3f3f3f int t,a,ans,sum,n,l,r,s; int main() { cin>>t; for(int q=1; q<=t; q++) { cin>>n; sum=0; ans=-inf; s=0; r=l=1; for(int i=0; i<n; i++) { cin>>a; s++; sum+=a; if(sum>ans) { ans=max(ans,sum); r=i+1; l=r-s+1; } if(sum<0) { sum=0; s=0; } } cout<<"Case "<<q<<":"<<endl<<ans<<" "<<l<<" "<<r<<endl; if(q!=t) cout<<endl; } return 0; }
Max Sum HDU - DP最大连续和
最新推荐文章于 2022-11-06 15:03:56 发布