Cod sursa(job #2472099)

Utilizator buhaidarius@gmail.comBuhai Darius [email protected] Data 12 octombrie 2019 02:31:43
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.83 kb
//
//  main.cpp
//  SubsecventaMaxima
//
//  Created by Darius Buhai on 12/10/2019.
//  Copyright © 2019 Darius Buhai. All rights reserved.
//

#include <iostream>
#include <fstream>

using namespace std;

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

int main() {
    long long n, s, sum = 0, csp = 1, sp = 1, ep = 1, maxi=0;
    
    //freopen("ssm.in", "r", stdin);
    //freopen("ssm.out", "w", stdout);
    
    //scanf("%d\n", &n);
    fin>>n;
    for(int i=0;i<n;i++){
        //scanf("%d ", &s);
        fin>>s;
        if(sum>=0) sum += s;
        else{
            csp = i+1;
            sum = s;
        }
        if(sum>maxi || (sum==maxi && i+1-csp<ep-sp)){
            maxi = sum;
            sp = csp;
            ep = i+1;
        }
    }
    //printf("%d %d %d", maxi, sp, ep);
    fout<<maxi<<" "<<sp<<" "<<ep;
    return 0;
}