Cod sursa(job #2278517)

Utilizator TooHappyMarchitan Teodor TooHappy Data 8 noiembrie 2018 09:56:59
Problema Subsecventa de suma maxima Scor 95
Compilator cpp-64 Status done
Runda Arhiva educationala Marime 0.72 kb
#include <bits/stdc++.h>
 
using namespace std;
 
ifstream in("ssm.in");
ofstream out("ssm.out");

int main() {
    ios::sync_with_stdio(false); in.tie(0); out.tie(0);

    int n; in >> n;

    int bestSum = INT_MIN, bestI = -1, bestJ = -1;
    int currI = -1, currJ = -1, sum = 0;

    for(int i = 1; i <= n; ++i) {
        int x; in >> x;

        if(sum + x > x) {
            sum += x;
            ++currJ;
        } else {
            sum = x;
            currI = i;
            currJ = i;
        }

        if(sum > bestSum) {
            bestSum = sum;
            bestI = currI;
            bestJ = currJ;
        }
    }

    out << bestSum << " " << bestI << " " << bestJ << "\n";

    in.close(); out.close();
 
    return 0;
}