Cod sursa(job #3195614)

Utilizator Minea_TheodorMinea Theodor Stefan Minea_Theodor Data 21 ianuarie 2024 13:04:19
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.79 kb
#include <fstream>
#include <climits>
using namespace std;
int sumepartiale[6000001];
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main()
{
    int n, rezultatsuma=INT_MIN, indx, inceput, sfarsit, minim=0;
    fin >> n;
    int v[n+1];
    for(int i=1; i <= n; i++)
    {
        fin >> v[i];
        sumepartiale[i]+=sumepartiale[i-1];
        sumepartiale[i]+=v[i];
    }
    for(int i=1; i <= n; i++)
    {
        if(rezultatsuma< sumepartiale[i]-minim)
        {
            rezultatsuma= sumepartiale[i]-minim;
            inceput=indx+1;
            sfarsit=i;
        }
        if(minim>sumepartiale[i])
        {
            minim=sumepartiale[i];
            indx=i;
        }
    }
    fout << rezultatsuma << " " << inceput << " " << sfarsit;
    return 0;
}