Cod sursa(job #1374395)

Utilizator raduzxstefanescu radu raduzx Data 5 martie 2015 08:52:42
Problema Subsecventa de suma maxima Scor 100
Compilator cpp Status done
Runda Arhiva educationala Marime 0.82 kb
#include <fstream>

using namespace std;
//unsigned int v[6000002];
int main()
{
    ifstream f("ssm.in");
    ofstream g("ssm.out");
    int n,pi,pf,i,a,o,j;
    long long maxim=0,s=0,minim;
    f>>n;
    pi=1;
    pf=1;
    maxim=-300000000;
    s=0;
    minim=-300000000;
    for(i=1;i<=n;i++)
    {
        f>>a;
       // g<<a<<" ";
          if(minim<a and a<0)
        {
            minim=a;
            o=i;
        }
        s+=a;
        if(maxim<s)
        {
            maxim=s;
            pi=j;
            pf=i;
        }
       // g<<maxim<<" "<<s<<" ";
        if(s<0)
        {
            s=0;
            j=i+1;
        }


    }
    if(maxim>=0)
        g<<maxim<<" "<<pi<<" "<<pf;
    else
        g<<minim<<" "<<o<<" "<<o;
    f.close();
    g.close();
    return 0;
}