Cod sursa(job #2157851)

Utilizator alecsanyaAlexandra alecsanya Data 9 martie 2018 23:01:08
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include <iostream>
#include <fstream>
#include <climits>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int x,sum[6000001],best[6000001],n,i1,i2;
int main()
{
    f>>n;
    for(int i=1; i<=n; i++)
    {
        f>>x;
        sum[i]=sum[i-1]+x;
    }
    int smax=-INT_MAX;
    int mini=0;
    for(int i=1; i<=n; i++)
    {
        best[i]=sum[i]-mini;
        if(sum[i]<mini)
        {
            mini=sum[i];
            i1=i+1;
        }
        if(best[i]>smax)
        {
            smax=best[i];
            i2=i;
    }
}
    g<<smax<<" "<<i1<<" "<<i2;
return 0;
}