Cod sursa(job #965119)

Utilizator rekingCretu Bogdan reking Data 23 iunie 2013 13:53:43
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <iostream>
#include <fstream>
#define NMax 6000001
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n,s[NMax];
int main ()
{
    int i,st=1,dr=1,sum=0,summax=0;
    f>>n;
    for (i=1;i<=n;i++) f>>s[i];
    summax=sum=s[1];
    for (i=2;i<=n;i++)
    {
        if (sum<0)
        {
            sum=s[i];
            st=i;
        }
        else
        {
            sum=sum+s[i];
            if (summax<sum)
            {
                summax=sum;
                dr=i;
            }
        }
    }
    for (i=1;i<=n;i++) if (summax<sum) {summax=sum;st=dr=i;}
    g<<summax<<" "<<st<<" "<<dr;
}