Cod sursa(job #867336)

Utilizator costyv87Vlad Costin costyv87 Data 29 ianuarie 2013 16:21:02
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.74 kb
//HighFlow
#include <cstdio>
#include <vector>
#include <limits.h>
#include <string>
#include <string.h>
#include <math.h>
#include <algorithm>
#include <fstream>
#define fcat(c) while (c!='\n') fscanf(f,"%c",&c)
#define cat(c) while (c!='\n') scanf("%c",&c)
#define for(i,st,dr,k) for (int i=st;i<=dr;i+=k)
using namespace std;
int n,i,x,s,st,mx,mxi,mxj;



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

    f>>n;
    mx=-LONG_MAX; mxi=mxj=-1;
    st=1; s=0;

    for(i,1,n,+1)
    {
        f>>x;
        if (s+x<x)
        {
            s=x;
            st=i;
        }
        else
            s=s+x;


        if (s>mx)
            mx=s,mxi=st,mxj=i;
    }


    g<<mx<<' '<<mxi<<' '<<mxj;



	return 0;
}