Cod sursa(job #2199070)

Utilizator RaduVFVintila Radu-Florian RaduVF Data 26 aprilie 2018 16:58:57
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.69 kb
#include <bits/stdc++.h>
#define neginf (1<<31)+1
#define NMAX 6000005
using namespace std;

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

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

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