Cod sursa(job #1596894)

Utilizator moowalkerMihai Turcanu moowalker Data 11 februarie 2016 14:57:28
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.58 kb
#include <iostream>
#include <fstream>
#define Max(a,b) a>b ? a:b
using namespace std;
fstream f;
int n,i,s[6000000],sum;
int Max=-32000,st,fin,k;
int main()
{
    f.open("ssm.in",ios::in);
    f>>n;
    for (i=0;i<n;i++)
    {
        f>>s[i];
    }
    for (i=0;i<n;i++)
    {
        if (sum<0)
        {
            sum=s[i]; k=i;
        }
        else sum+=s[i];
        if (Max<sum)
        {
            Max=sum; st=k; fin=i;
        }
    }
    f.close();
    f.open("ssm.out",ios::out);
    f<<Max<<" "<<st+1<<" "<<fin+1;
    f.close();
    return 0;
}