Cod sursa(job #368337)

Utilizator robigiirimias robert robigi Data 24 noiembrie 2009 18:55:43
Problema Subsecventa de suma maxima Scor 85
Compilator cpp Status done
Runda Arhiva educationala Marime 0.65 kb
#include <fstream>

using namespace std;

ifstream f ("ssm.in");
ofstream g ("ssm.out");

int n, k, v[6001000], w;

void read()
{    f >> n;
     for (int i=1; i<=n; i++)
         f >> v[i];
}

int maxim(int x, int y)
{   if (x>y) return x;
    return y;
}

void suma()
{    int l1, l2;
     int sum=0;
     l1=1;
     l2=2;
     int cw=v[1];
     for (int i=2; i<=n; i++)
     {   w=maxim(w+v[i], v[i]);
	     if (w>sum) { sum=w; l2=i; }
	     if (v[i]==w && cw!=0) l1=i;
	     cw=w;
     }
     g << sum << " " << l1 << " " << l2;
}


int main()
{   read();
    suma();
    f.close();
    g.close();
    return 0;
}