Cod sursa(job #485028)

Utilizator APOCALYPTODragos APOCALYPTO Data 16 septembrie 2010 20:05:04
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.77 kb
using namespace std;

#include<iostream>
#include<fstream>
#define oo 0x3f3f3f3f
int a[6000005],N,sum[6000005];

ofstream fout("ssm.out");
void solve()
{int min,i;
    min=0;
    int minst=0;
    int st=0;
    int dr=0;
    int max=-oo;
    sum[0]=0;
    for(i=1;i<=N;i++)
    {
        sum[i]=sum[i-1]+a[i];
        if(max<sum[i]-min)
         {max=sum[i]-min;
         st=minst;
         dr=i;
         }
        if(sum[i]<min)
        {

         min=sum[i];
         minst=i+1;
        }


    }
    fout<<max<<" "<<st<<" "<<dr<<"\n";




}
void cit()
{int i;
    ifstream fin("ssm.in");
    fin>>N;
    for(i=1;i<=N;i++)
     fin>>a[i];
    fin.close();
}

int main()
{

    cit();
    solve();
    fout.close();
    return 0;
}