Cod sursa(job #1955568)

Utilizator ilieilie vieru ilie Data 6 aprilie 2017 08:04:42
Problema Subsecventa de suma maxima Scor 90
Compilator cpp Status done
Runda Arhiva educationala Marime 0.5 kb
#include <fstream>
using namespace std;
ifstream f("ssm.in");
ofstream g("ssm.out");
int n, p, i, q, qmax, pmax;
long long s, smax, x;
int main()
{
    f>>n;
    p=1;
    for(i=1;i<=n;++i)
    {
        f>>x;
        if(x>=0) s+=x, q++;
        else
        {
            if(s>smax) pmax=p, qmax=q, smax=s;
            if(-x>s) s=0, p=i+1, q=i;
            else s+=x, q++;
        }
    }
    if(s>smax) pmax=p, qmax=q, smax=s;
    g<<smax<<" "<<pmax<<" "<<qmax<<"\n";
    return 0;
}