Cod sursa(job #1004179)

Utilizator cosmin_bobeicaCosmin Bobeica cosmin_bobeica Data 2 octombrie 2013 11:16:48
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include<cstdio>
#include<climits>
using namespace std;

inline int max(int a,int b)
{
    return (a>b?a:b);
}
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    int n,i,val,c1,c2,d1;
    long s,t,best=INT_MIN;
    scanf("%d",&n);
    s=t=0;
    d1=c1=c2=1;
    for(i=1; i<=n; i++)
    {
        scanf("%d",&val);
        if(s<0)
        {
            s=t=val;
            c1=i;
        }
        else
        {
            t=s;
            s=s+val;
        }
        best=max(best,s);

        if(best==s)
        {
            d1=c1;
            c2=i;
        }

    }
    printf("%ld %d %d",best,c1,c2);
    return 0;
}