Cod sursa(job #2795116)

Utilizator Florin090503Dumitrescu Florin Florin090503 Data 5 noiembrie 2021 23:26:57
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.71 kb
#include <iostream>
#include <fstream>
#include <climits>

using namespace std;

ifstream fin("ssm.in");
ofstream fout("ssm.out");

int n, k, dr, x, y, z;
int a[6000001];
int s[6000001];
int main()
{
    fin>>n;
    for(int i=1;i<=n;i++)
        fin>>a[i];
    s[1]=a[1];
    k=1;
    int maxim=INT_MIN;
    for(int i=2;i<=n;i++){
        if(s[i-1]+a[i]>a[i]){
            s[i]=s[i-1]+a[i];
            k++;
            dr=i;
        }
        else{
            s[i]=a[i];
            k=1;
            dr=i;
        }
        if(s[i]>maxim){
            maxim=s[i];
            x=s[i];
            y=dr-k+1;
            z=dr;
        }
    }
    fout<<x<<" "<<y<<" "<<z;
    return 0;
}