Cod sursa(job #1364938)

Utilizator Alex_dudeDudescu Alexandru Alex_dude Data 27 februarie 2015 21:45:50
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.75 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=inf,summax=0,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,st,dr);
    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.