Cod sursa(job #1699182)

Utilizator andreipurdilaAndrei Purdila andreipurdila Data 6 mai 2016 15:58:19
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <iostream>
#include <fstream>

using namespace std;

int main() {
    ifstream in("ssm.in");
    ofstream out("ssm.out");
    long n;
    in>>n;
    long elems[n+1];
    elems[0] = 0;
    for (long i = 1; i <= n; ++i) {
        in>>elems[i];
    }

    long pozMin = 0, min = 0;
    long currentSum = elems[1];
    long end = 1;
    long max = elems[1];
    for (long i = 2; i <= n; ++i) {
        currentSum += elems[i];
        long aux = currentSum - min;
        if (aux < min) {
            min = aux;
            pozMin = i;
        } else if (aux > max){
            end = i;
            max = aux;
        }
    }

    out<<max<<" "<<pozMin + 1<< " " <<end;
    in.close();
    out.close();
}