Cod sursa(job #1691668)

Utilizator anisca22Ana Baltaretu anisca22 Data 19 aprilie 2016 08:56:14
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int a[6000000],S[6000000];
int main()
{
    int n,i,kmx=0,kmin,s=0;
    fin>>n;
    for(i=1;i<=n;i++)
        fin>>a[i];
    S[1]=a[1];
    for(i=2;i<=n;i++)
        {S[i]=S[i-1]+a[i];
        /**if(S[i]<S[i-1])
            k=i;
        if(S[i]-S[k]>S[i-1])
            {k++;
            S[i]=S[i]-S[k];
            }**/
        if(S[i]>S[kmx])
            kmx=i;
        }
    i=kmx;
    while(S[i]>0)
        i--;
    kmin=i+1;
    for(i=kmin;i<=kmx;i++)
        s=s+a[i];

    fout<<s<<" "<<kmin<<" "<<kmx<<endl;
    return 0;
}