Cod sursa(job #3222394)

Utilizator iuliageambazuGeambazu Iulia iuliageambazu Data 9 aprilie 2024 22:41:59
Problema Subsecventa de suma maxima Scor 80
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.7 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");

const int Nmax=6000005;

int x,n;
long long sum,s[Nmax],minim=LONG_MAX,sol=LONG_MIN,pozmin=0,pozmax=0;

int main()
{
    fin>>n>>x;
    s[1]=x;
    for(int i=2; i<=n; i++)
        {
            fin>>x;
            s[i]=s[i-1]+x;
        }
    for(int j=1; j<=n; j++)
    {
        if(s[j]<=minim)
        {
            minim=s[j];
            pozmin=j+1;
        }
        sum=s[j]-s[pozmin-1];
        if(sum>=sol)
        {
            sol=sum;
            pozmax=j;
        }
    }
    fout<<sol<<' '<<pozmin<<' '<<pozmax;
    fin.close();
    fout.close();
    return 0;
}