Cod sursa(job #1760478)

Utilizator AhileGigel Frone Ahile Data 20 septembrie 2016 20:51:49
Problema Subsecventa de suma maxima Scor 5
Compilator cpp Status done
Runda Arhiva educationala Marime 0.66 kb
#include<bits/stdc++.h>
using namespace std;
#define in f
#define out g

ifstream f("ssm.in");
ofstream g("ssm.out");

long long n;
long long v[6000010];
int sum;
int maxx;
int start;
int fin;

int main() {

    in >> n;
    for(int i = 1; i <= n; i++) {
        in >> v[i];
    }
    for(int i = 1; i <= n; i++) {
        if(sum + v[i] > 0) {
            sum = sum + v[i];
        } else {
            if(sum == maxx) {
                start = i + 1;
            }
            sum = 0;
        }
        if(sum > maxx) {
            fin = i;
        }
        maxx = max(maxx, sum);
    }
    out << maxx << " " << start << " " << fin;
}