Cod sursa(job #2153948)

Utilizator CyborgSquirrelJardan Andrei CyborgSquirrel Data 6 martie 2018 16:32:58
Problema Subsecventa de suma maxima Scor 80
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#include <iostream>
#include <fstream>

using namespace std;

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

istream & in = fin;
ostream & out = fout;

void solve()
{
    int n, a;
    int s = 0;
    int minip = -1, maxip = -1;
    int mini, maxi;
    in >> n;
    for(int i = 0; i < n; i++){
        in >> a;
        s += a;
        if(minip == -1 || s < mini){
            mini = s;
            minip = i;
        }
        if(maxip == -1 || s > maxi){
            maxi = s;
            maxip = i;
        }
    }
    minip += 2;
    maxip += 1;
    if(minip > maxip){
        swap(minip, maxip);
    }
    out << maxi - mini << " " << minip << " " << maxip;
}

int main()
{
    solve();
    return 0;
}