Cod sursa(job #2721852)

Utilizator maraboneaMara Bonea marabonea Data 12 martie 2021 12:40:26
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.65 kb
/**
*/
#include <fstream>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
const int nmax=6000010;
int n,x[nmax],dp,poz1,poz2,sum,m;
void read()
{
    fin>>n;
    for(int i=1;i<=n;i++)
    {
        fin>>x[i];
    }
}
void solve()
{
    m=1;
    for(int i=1;i<n;i++)
    {
        dp=dp+x[i];
        if(dp>sum)
        {
            sum=dp;
            poz1=m;
            poz2=i;
        }
        if(dp<0)
        {
            dp=0;
            m=i+1;
        }
    }
}
void print()
{
    fout<<sum<<" "<<poz1<<" "<<poz2;
}
int main()
{
    read();
    solve();
    print();
   return 0;
}