Cod sursa(job #2472209)

Utilizator butnaru_vlad2003Butnaru Vlad butnaru_vlad2003 Data 12 octombrie 2019 10:30:34
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.62 kb
#include <fstream>
using namespace std;
ifstream in ("ssm.in");
ofstream out ("ssm.out");
int v[6000001],sume[6000001];
int main ()
{
    int n;
    in>>n;
    for (int i = 1;i<=n;++i)
        in>>v[i];
    int poz = 1,s = v[1],poz1=1,poz2=1;
    for (int i = 1;i<=n;++i)
    {
        if (v[i] <= sume[i-1] + v[i])
            sume[i] = sume[i-1] + v[i];
        else
        {
            sume[i] = v[i];
            poz = i;
        }
        if (sume[i]>s)
        {
            s = sume[i];
            poz1 = poz;
            poz2 = i;
        }
    }
    out<<s<<' '<<poz1<<' '<<poz2;
    return 0;
}