Cod sursa(job #825118)

Utilizator angelaAngela Visuian angela Data 27 noiembrie 2012 15:09:24
Problema Secventa 2 Scor 20
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
using namespace std;
#define INF 0x3f3f3f3f

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

int a[1002];
int n, K;

int main()
{
    is >> n >> K;
    for ( int i = 0; i < n; i++)
        is >> a[i];

    int s =  0;     
    int Smax = -INF;
    int St, Dr;
    int p1 = 0, p2 = 0;  
    int L = 0, Lmax;
    for ( int i = 0; i < n; i++)
    {
		s += a[i];
		L++;
		if ( s >= 0 )
        {
			p2 = i;
			Lmax = max(Lmax, L);
            if ( s > Smax )
            {
				Smax = s;
				Lmax = L;
				if ( Lmax > K )
				{
				    St = p1, Dr = p2;
				}
			}

		}
		else
		{
			s = 0;
			L = 0;
			p1 = i + 1;
        }
    }


    os << St + 1 << ' ' << Dr + 1 << ' ' << Smax << '\n';



    is.close();
    os.close();
    return 0;
}