Cod sursa(job #947366)

Utilizator manutrutaEmanuel Truta manutruta Data 7 mai 2013 11:35:04
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.64 kb
#include<iostream>
#include<fstream>
using namespace std;

ifstream f("ssm.in");
ofstream g("ssm.out");
int n,a[6000005],best[6000005];

int main()
{
    int i,mx=0,p;
    cin>>n;
    for(i=1;i<=n;i++)
        cin>>a[i];
    if(a[1]>0)
        best[1]=a[1];

    for(i=2;i<=n;i++)
        if(best[i-1]+a[i]>0)
            best[i]=best[i-1]+a[i];

    for(i=1;i<=n;i++)
        cout<<best[i]<<' ';

    for(i=1;i<=n;i++)
        if(best[i]>mx)
        {
            mx=best[i];
            p=i;
        }
    g<<mx<<' ';
    for(i=p;best[i]!=0;i--);
    g<<a[i+1]<<' '<<a[p];

    f.close();
    g.close();
    return 0;
}