Cod sursa(job #882962)

Utilizator zloteanu.adrianzloteanu adrian nichita zloteanu.adrian Data 19 februarie 2013 16:43:25
Problema Subsecventa de suma maxima Scor 15
Compilator cpp Status done
Runda Arhiva educationala Marime 0.95 kb
#include <fstream>
using namespace std;
int main()
{
    ifstream q("ssm.in");
    ofstream w("ssm.out");
    int n, suma=0, val, ssm=-1000;
    int ii=1,is=1, ci=1;
    q>>n;
    for(int i=1; i<=n; i++)
    {
        q>>val;
        if(i == 1) {
            ssm = val;
            is = 1;
            ii = 1;
            suma = val;
            continue;
        }
        if(suma > val && suma+val>0)
        {
            suma+=val;
            if(suma > ssm)
            {
                ssm = suma;
                is = i;
                ii = ci;
            }
        }
        else
        {
            if(suma > ssm)
            {
                ssm = suma;
                is = i-1;
                ii = ci;
            }
            suma=val;
            ci = i;
        }
    }
    if(suma > ssm)
    {
        ssm = suma;
        is = n;
        ii = ci;
    }
    w<<ssm<<" "<<ii<<" "<<is;
    return 0;
}