Cod sursa(job #2794998)

Utilizator mihnea03Ciocioiu Mihnea mihnea03 Data 5 noiembrie 2021 20:25:21
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.63 kb
#include <fstream>
#include <climits>
#define dim 6000010
using namespace std;
int a[dim];
int i,n,k,x,st,dr,sol=INT_MIN;

int main() {
    ifstream fin("ssm.in");
    ofstream fout("ssm.out");
    fin>>n;
    for (i=1;i<=n;++i) {
        fin>>a[i];
    }
    x=INT_MIN;
    for (i=1;i<=n;i++) {
        if (x>=0) {
            x+=a[i];
        }
        else {
            x=a[i];
            k=i;
        }
        if (x>sol) {
            sol=x;
            st=k;
            dr=i;
        }
    }
    if (n==1) {
        sol=x;
        st=dr=1;
    }
    fout<<sol<<" "<<st<<" "<<dr;
    return 0;
}