Cod sursa(job #2147735)

Utilizator mrhammerCiocan Cosmin mrhammer Data 28 februarie 2018 22:41:26
Problema Subsecventa de suma maxima Scor 95
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include<iostream>
#include<fstream>
#include<vector>
std::ifstream fin("ssm.in");
std::ofstream fout("ssm.out");
std::vector<int> vec;
int n;
int s_max;
int local_s;
int start;
int finish;
int finish_int;
int start_int;
int k;
int main()
{
    start,finish,finish_int,start_int = 0;
    fin>>n;
    fin>>s_max;
    local_s = s_max;
    for(int i=1;i<n;i++)
    {
        fin>>k;
        if(local_s+k > k)
        {
            local_s = local_s+k;
            finish_int = i;
        }
        else
        {
            local_s = k;
            start_int = i;
            finish_int = i;
        }
        if(local_s > s_max)
        {
            s_max = local_s;
            start = start_int;
            finish = finish_int;
        }
    }
    fout<<s_max<<" "<<start+1<<" "<<finish+1;
}