Cod sursa(job #2709603)

Utilizator BaraianTudorBaraian Tudor Stefan BaraianTudor Data 20 februarie 2021 15:44:46
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.66 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,val,it,sf,ssm=INT_MIN,scur,inc;
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
    {
        in>>val;
        if(scur+val<0)
        {
            scur=0;
            inc=i;
            if(val>ssm)it=sf=i,ssm=val;
        }
        else
        {
            if(scur==0 && inc==i-1)inc=i;
            scur+=val;
            if(scur>ssm)
            {
                it=inc;
                sf=i;
                ssm=scur;
            }
        }
    }
    out<<ssm<<' '<<it<<' '<<sf;
    return 0;
}