Cod sursa(job #2686278)

Utilizator cosmin395dimofte cosmin cosmin395 Data 18 decembrie 2020 20:27:03
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.82 kb
using namespace std;
#include<bits/stdc++.h>

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n,v[6000001];
int st,dr,ind,sc,sm,i;

int main()
{

    fin>>n;
    for(i=1; i<=n; i++)
        fin>>v[i];

    st=1;
    dr=1;
    ind=1;

    for(i=1; i<=n; i++)
    {
        sc+=v[i];
        if(sc<v[i])
        {
            sc=v[i];
            ind=i;
        }

        if (sc>sm)
        {
            sm=sc;
            st=ind;
            dr=i;
        }
        else if(sc==sm)
        {
            if (ind < st)
            {
                st = ind;
                dr = i;
            }
            else if(ind==st)
            {
                if(i-ind+1<dr-st+1)
                    dr=i;
            }
        }
    }

    fout<<sm<<" "<<st<<" "<<dr;

    return 0;
}