rqnoj-145-打水漂-最大字段和

求最大字段和,基础算法

#include<string.h>
#include<stdio.h>
#include<iostream>
#include<algorithm>
using namespace std;
int dp[10001];
int num[10001];
int main()
{
    int n,i;
    while(~scanf("%d",&n))
    {
        for(i=0;i<n;i++)scanf("%d",&num[i]);
        int l ,r ,ns  ;
        int ls,rs,maxx;
        ns=maxx=0;
        l=r=0;
        for(i=0;i<n;i++)
        {
            ns+=num[i];
            if(ns<=0)
            {
                ns=0;
                l=i+1;
            }
            if(ns>maxx)
            {
                maxx=ns;
                ls=l+1;
                rs=i+1;
            }
        }
        cout<<ls<<" "<<rs<<endl;
        cout<<maxx<<endl;
    }
    return 0;
}


你可能感兴趣的:(rqnoj-145-打水漂-最大字段和)