Cod sursa(job #1573322)

Utilizator PaulHerHerman Paul PaulHer Data 19 ianuarie 2016 16:53:27
Problema Subsecventa de suma maxima Scor 0
Compilator cpp Status done
Runda Arhiva educationala Marime 0.61 kb
#include<iostream>
#include<fstream>
#include<limits.h>
using namespace std;
ifstream fin("ssm.in");
ofstream fout("ssm.out");
int main ()
{
    long long n,p1,p2,P1,P2,y,x,S=0;
    fin>>n;
    fin>>y;
    int maxim=-INT_MAX;
    S=y;
    p1=p2=1;
    for (int i=2;i<=n;i++)
    {
        fin>>x;
        if (S+x>=x)
        {
            S=S+x;
            p2=i;
        }
        else
        {
            S=x;
            p1=p2=i;
        }
        if (S>maxim)
        {
            maxim=S;
            P1=p1;
            P2=p2;
        }
    }
    cout<<maxim<<" "<<P1<<" "<<P2;
}