Cod sursa(job #1364939)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 27 februarie 2015 21:48:14
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
#define Dudica "Dudescu Alexandru"
#include <cstdio>
#define inf 100000000
#define nmax 6000007
using namespace std;
FILE *f1=fopen("ssm.in","r"),*f2=fopen("ssm.out","w");
int n,st,dr,pos;
long sum,summin,summax=-inf,x;
int main()
{
    int i;
    fscanf(f1,"%d",&n);
    for(i=1;i<=n;i++)
    {
        fscanf(f1,"%d",&x);
        sum+=x;
        if(sum-summin>summax)
        {
            summax=sum-summin;
            dr=pos+1;st=i;
        }
        if(summin>sum)
        {
            summin=sum;pos=i;
        }
    }
    fprintf(f2,"%d %d %d",summax,dr,st);
    fclose(f1);
    fclose(f2);
    return 0;
}

//Our greatest weakness lies in giving up. The most certain way to succeed is always to try just one more time.