Cod sursa(job #2561498)

Utilizator TedystTedy Stoica Tedyst Data 28 februarie 2020 20:47:50
Problema Subsecventa de suma maxima Scor 85
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <bits/stdc++.h>
using namespace std;
ifstream fin ("ssm.in");
ofstream fout ("ssm.out");
int v[6000001], n;
int main() {
    fin>>n;
    fin>>v[1];
    for(int i=2; i<=n; i++) {
        int a;
        fin>>a;
        v[i]=a+v[i-1];
    }
    int minimul=v[1], summax=-INT_MAX, inceput, finalul;
    for(int i=2; i<=n; i++) {
        if(minimul > v[i-1]) {
            minimul = v[i-1];
            inceput = i;
        }
        if(summax < v[i] - minimul) {
            summax = v[i] - minimul;
            finalul = i;
        }
    }
    fout<<summax<<' '<<inceput<<' '<<finalul<<'\n';
}