Cod sursa(job #2110485)

Utilizator Hidden.bdBurlacu Doru Hidden.bd Data 20 ianuarie 2018 18:22:13
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.72 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;
    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 ){
        best = sum[i] - minn;
        if( sum[i] < minn ){
           minn = sum[i];
            st = i + 1;
        }
        if( best > smax ){
           smax = best;
            dr = i;
        }
    }
    
    fout << smax << " " << st << " " << dr;
    
    
    
    return 0;
}