Cod sursa(job #1295803)

Utilizator refugiatBoni Daniel Stefan refugiat Data 20 decembrie 2014 11:07:39
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.92 kb
#include<iostream>
#include<fstream>
#include<algorithm>
using namespace std;
int main()
{
    ifstream si;
    si.open("ssm.in");
    ofstream so;
    so.open("ssm.out");
    int n;
    si>>n;
    int maxx=0,in,f,i,a,s=0,x=0;
    si>>a;
    int maxe=a,p=0;
    s+=a;
    if(s<0)
    {
        s=0;
        x=i+1;
    }
    else
        if(s>maxx)
        {
            in=x;
            f=i;
            maxx=s;
        }
    for(i=1;i<n;++i)
    {
        si>>a;
        s+=a;
        if(s<0)
        {
            s=0;
            x=i+1;
        }
        else
            if(s>maxx)
            {
                in=x;
                f=i;
                maxx=s;
            }
        if(maxe<a)
        {
            maxe=a;
            p=i;
        }
    }
    if(maxx!=0)
        so<<maxx<<' '<<in+1<<' '<<f+1;
    else
    {
        so<<maxe<<' '<<p+1<<' '<<p+1;
    }
}