Cod sursa(job #1040382)

Utilizator santoriniPanea Catalin santorini Data 24 noiembrie 2013 14:39:00
Problema Subsecventa de suma maxima Scor 70
Compilator cpp Status done
Runda Arhiva educationala Marime 0.54 kb
#include <fstream>
#include<limits.h>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int sum[6000001],best[6000001],min1,bestSum;
int n,i,a[6000001],i1,i2;
int main()
{
    f>>n;
    sum[0] = 0;
for (i = 1; i <= n; i++){
    f>>a[i];
    sum[i] = a[i] + sum[i-1];
}
min1 = sum[0];i1=0;
bestSum = -LONG_MAX;
for (i = 1; i <= n; i++) {
    best[i] = sum[i] - min1;
    if (min1 > sum[i]) {min1 = sum[i];i1=i+1;}
    if (bestSum < best[i]){bestSum = best[i];i2=i;}
}
g<<bestSum<<" "<<i1<<" "<<i2;
    return 0;
}