Cod sursa(job #2296662)

Utilizator SemetgTemes George Semetg Data 4 decembrie 2018 21:36:26
Problema Subsecventa de suma maxima Scor 100
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.58 kb
#include <fstream>
using namespace std;

ifstream in { "ssm.in" };
ofstream out { "ssm.out" };

int main() {
    int n; in >> n;
    
    int sol = 1 << 31, start { 1 }, start_sol { 1 }, end_sol { 1 }, suma { 0 };
    for (int i { 1 }; i <= n; ++i) {
        int x; in >> x;
        
        if (suma < 0) {
            suma = x;
            start = i;
        } else {
            suma += x;
        }
        
        if (sol < suma) {
            sol = suma;
            start_sol = start;
            end_sol = i;
        }
    }
    
    out << sol << ' ' << start_sol << ' ' << end_sol;
}