Cod sursa(job #1127056)

Utilizator mircea98roMircea Popovici mircea98ro Data 27 februarie 2014 10:59:26
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.68 kb
#include <fstream>
#include <algorithm>

using namespace std;

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

int cmp(int a,int b)
{
    return (a<b?0:1);
}
int a[101],i,n;
int main()
{
    f>>n;
    for (i=1;i<=n;i++)
        f>>a[i];
    /*nth_element(a+1,a+(n+1)/2+1,a+n+1);
    g<<a[(n+1)/2];
    */
    int s=0,maxx=0;
    for (i=1;i<=n;i++)
    {
        if (s+a[i]<0)
            s=0;
        else
            s+=a[i];
        if (s>maxx)
            maxx=s;
    }
    if (!maxx)
    {
        sort(a+1,a+n+1,cmp);
        //for (i=1;i<=10;i++)
        //    g<<a[i]<<' ';
        maxx=a[1];
    }
    g<<maxx<<'\n';
    g.close();
    return 0;
}