Cod sursa(job #2110506)

Utilizator Hidden.bdBurlacu Doru Hidden.bd Data 20 ianuarie 2018 18:53:40
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <vector>
#include <fstream>
#include <algorithm>
#define mm 6000002

using namespace std;

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

long long sum[mm];
long long minn, best, smax = -1000000;

int main()
{
    
    int n, x;
    int st, dr, ii;
    fin >> n;
    
    for( int i = 1 ; i <= n ; ++i ){
        fin >> x;
        sum[i] = sum[i-1] + x;
    }
    
    minn = sum[0];
    for( int i = 1 ; i <= n ; ++i ){
        if( sum[i] - minn > smax ){
            smax = sum[i] - minn;
            st = ii + 1; dr = i;
        }
        if( sum[i] < minn ){
            minn = sum[i]; ii = i;
        }
    }
    
    fout << smax << " " << st << " " << dr;
    
    
    
    return 0;
}