Cod sursa(job #2438399)

Utilizator BaraianTudorBaraian Tudor Stefan BaraianTudor Data 12 iulie 2019 13:54:05
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream in("ssm.in");
ofstream out("ssm.out");
int n,x,cur,sol=INT_MIN,st,dr,stmax;
int main()
{
    in>>n;
    for(int i=1;i<=n;i++)
    {
        in>>x;
        cur+=x;
        if(sol<cur)
        {
            sol=cur;
            if(cur<0)
            {
                stmax=i,dr=i;
            }
            else
            {
                dr=i;stmax=st;
            }
        }
        if(cur<0)
        {
            cur=0;
            st=i+1;
        }
    }
    out<<sol<<' '<<stmax<<' '<<dr;
    return 0;
}