Cod sursa(job #2316565)

Utilizator cristicioteiCiotei Cristian cristiciotei Data 11 ianuarie 2019 22:02:41
Problema Subsecventa de suma maxima Scor 55
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <iostream>
#include <bits/stdc++.h>
using namespace std;
long long s[6000000];
int n;
int st=1,dr=1,val=0,max1=-100000;
int main()
{
    freopen("ssm.in","r",stdin);
    freopen("ssm.out","w",stdout);
    cin>>n;
    for (int i=1 ; i<=n ; i++)
        cin>>s[i];
    for (int i=1 ; i<=n ; i++)
    {
        if (val==0)
            st=i;
        val=val+s[i];
        if (val>max1)
        {
            max1=val;
            dr=i;
        }
        if (val<0)
        {
            val=0;
            st=i;
        }
    }
    if (st>dr)
    st=dr;

    cout<<max1<<" "<<st<<" "<<dr;
    return 0;
}