Cod sursa(job #1149043)

Utilizator antonio0822jitarciuc paul-antonio antonio0822 Data 21 martie 2014 13:45:49
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.88 kb
#include<limits.h>
#include<stdio.h>
using namespace std;
 
// 6000005
#define dim 6000005
 
int main()
{
    freopen("ssm.in", "r", stdin);
    freopen("ssm.out", "w", stdout);
     
    int n,i,x,s,smax,st,dr,stmax,drmax;
    //int v[dim];
    //int s[dim];
     
    scanf("%d", &n);
 
    smax=INT_MIN;
    s=INT_MIN;
     
    for(i=1;i<=n;++i)
    {
        scanf("%d", &x);
         
        if(s<0 && x>s)
        {
            s=x;
            st=i;
            dr=i;
        }
        else
        {
            if(s>smax)
            {
                smax=s;
                stmax=st;
                drmax=dr;
            }
            s+=x;
            ++dr;
        }
    }
    if(s>smax)
    {
        smax=s;
        stmax=st;
        drmax=dr;
    }
     
    printf("%d %d %d", smax, stmax, drmax);
     
     
     
    return 0;
}