Cod sursa(job #849669)

Utilizator Barcau_EmanuelBarcau Emanuel Barcau_Emanuel Data 7 ianuarie 2013 14:57:39
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.49 kb
#include<fstream>
using namespace std;
long long int n,a[6000000],i,ic,sc,pc,sf,max1;
int main ()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    f>>n;
    for(i=1;i<=n;i++)
    f>>a[i];
    max1=-2900000;
    sc=1;
    ic=1; sf=1;
    pc=1;
    for(i=n;i>=1;i--)
    {
        if(sc>=0) { sc=sc+a[i]; }
        else { sc=a[i]; pc=i; }
        if(sc>max1) {max1=sc; sf=pc; ic=i; }
    }
    sc=0;
    for(i=ic;i<=sf;i++)
    sc=sc+a[i];
    g<<sc<<" "<<ic<<" "<<sf;
}