Cod sursa(job #2409551)

Utilizator ArkhamKnightyMarco Vraja ArkhamKnighty Data 19 aprilie 2019 10:54:03
Problema Subsecventa de suma maxima Scor 35
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 1.08 kb
#include <fstream>

using namespace std;
ifstream cin("ssm.in");
ofstream cout("ssm.out");
int i,j,n,s[6000005],v[6000005],in,sf,maxx;
void citire()
{
    cin>>n;
    for(i=1; i<=n; i++)
    {
        cin>>v[i];
        s[i]=s[i-1]+v[i];
        if(s[i]>maxx)
        {
            maxx=s[i];
            in=1;
            sf=i;
        }
    }
    /* for(j=1;j<=n;j++)
            cout<<s[j]<<' ';
    cout<<'\n';*/
    for(i=2;i<=n;i++)
    {
        for(j=i;j<=n;j++){
            s[j]=s[j]-v[i-1];
            //cout<<s[j]<<' ';
            if(s[j]>maxx){
                maxx=s[j];
                in=i;
                sf=j;
            }

            else if(s[j]==maxx){
                if(i<in)
                {
                    in=i;
                    sf=j;
                }
                else if(i==in)
                {
                    if(j<sf)
                        sf=j;
                }
            }
        }
       // cout<<'\n';


    }

    cout<<maxx<<' '<<in<<' '<<sf;
}
int main()
{
    citire();
    return 0;
}