Cod sursa(job #1252106)

Utilizator VladTiberiuMihailescu Vlad Tiberiu VladTiberiu Data 30 octombrie 2014 13:33:55
Problema Subsecventa de suma maxima Scor 10
Compilator cpp Status done
Runda Arhiva educationala Marime 0.57 kb
#include <fstream>
#define Vect 6000009
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");

long long n,i,a[Vect],s[Vect],mx,st,sf;
int main()
{
    f >> n;
    for(i = 1; i <= n; i++){
        f >> a[i];
    }
    s[n] = a[n];
    mx = s[n];
    st = n;
    sf = n;
    for(i = n-1; i >= 1; i--){
        s[i] = max(s[i+1] + a[i], a[i]);
        if(s[i] > mx){
           mx = s[i];
           st = i;
           if(s[i+1] + a[i] < a[i]){
                sf = i;
           }
        }
    }
    g<<mx<<" "<<st<<" "<<sf;
    return 0;
}