Cod sursa(job #2153957)

Utilizator CyborgSquirrelJardan Andrei CyborgSquirrel Data 6 martie 2018 16:37:57
Problema Subsecventa de suma maxima Scor 75
Compilator cpp Status done
Runda Arhiva educationala Marime 0.73 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;
        }
    }
    if(minip > maxip){
        swap(minip, maxip);
    }
    minip += 2, maxip += 1;
    out << maxi - mini << " " << minip << " " << maxip;
}

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