Cod sursa(job #2199077)

Utilizator RaduVFVintila Radu-Florian RaduVF Data 26 aprilie 2018 17:10:02
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <bits/stdc++.h>
#define NMAX 6000005
using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");
int n, minim, index, maxSum, st, dr;
int sir[NMAX];

void SumCalculate() {
    maxSum=INT_MIN;
    for(int i=1; i<=n; ++i) {
        sir[i]+=sir[i-1];
        if(minim>sir[i]) {
            minim=sir[i];
            index=i;
        }
        if(maxSum<sir[i]-minim) {
            maxSum=sir[i]-minim;
            st=index+1;
            dr=i;
        }
    }
}

int main()
{
    fin>>n;
    for(int i=1; i<=n; ++i)
        fin>>sir[i];
    SumCalculate();
    fout<<maxSum<<' '<<st<<' '<<dr;
    return 0;
}