Cod sursa(job #2671661)

Utilizator stefan_andreicaAndreica Stefan stefan_andreica Data 12 noiembrie 2020 15:28:20
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.93 kb
#include <bits/stdc++.h>

using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");

    int n,s,smax,x,i1,i2,imax1,imax2,maxim=-2000000009,imaxim,i;

int main()
{
    f>>n;
    i1=1;
    i2=1;
    for(i=1;i<=n;i++)
    {
        f>>x;
        if(x>maxim)
        {
            maxim=x;
            imaxim=i;
        }
        i2=i;
        if(s<0)
        {
            s=0;
            s=s+x;
            i1=i;
            if(s>smax)
            {
                smax=s;
                imax1=i1;
                imax2=i2;
            }
        }
        else
        {
            s=s+x;
            if(s>smax)
            {
                smax=s;
                imax1=i1;
                imax2=i2;
            }
        }
    }
    if(maxim<0)
    {
        g<<maxim<<" "<<imaxim<<" "<<imaxim;
    }
    else
    {
        g<<smax<<" "<<imax1<<" "<<imax2;
    }
    return 0;
}