Cod sursa(job #825112)

Utilizator AdrianaMAdriana Moisil AdrianaM Data 27 noiembrie 2012 15:04:43
Problema Secventa 2 Scor 40
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
// se da: un sir. se cere: sa gasim cea mai lunga subsecv. de S max.
#include <fstream>
using namespace std;
#define INF

ifstream is("secv2.in");
ofstream os("secv2.out");

int main()
{
    int n, k, v[50002], s = 0, St, Dr, p1 = 0, p2 = 0, Smax = -0x3f3f3f3f;
    is >> n >> k;
    for ( int i = 1; i <= n; ++i )
        is >> v[i];
    for ( int i = 1; i <= n ; ++i )
    {
        s += v[i];

        if ( s >= 0 )
        {
            p2 = i;
            if ( s > k )
            {
                k = s;
                St = p1;
                Dr = p2;
            }
        }
        else
        {
            s = 0;
            p1 = i + 1;
        }
    }
    os << St << " " << Dr << " " << k;
    is.close();
    os.close();
    return 0;
}