Cod sursa(job #1093954)

Utilizator gerd13David Gergely gerd13 Data 28 ianuarie 2014 19:35:39
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.78 kb
#include <fstream>

using namespace std ;

const int NMAX = 50005 ;
const int INF = 0x3f3f3f3f;

ifstream cin("secv2.in") ;
ofstream cout("secv2.out") ;

int A[NMAX], N, K, sum, cnt, dx, first, last;
int bestSum;

int main()
{

    cin >> N >> K ;
    for(int i = 1; i <= N ; ++ i)
    cin >> A[i] ;

    bestSum = -INF ;
        for(int i = 1 ; i <= N ; ++ i)
        {if(sum < 0)
        {sum = A[i] ;
         dx = i ;
         ++ cnt ;
        }
        else sum = sum + A[i], ++cnt ;
        if(bestSum < sum )
        {
            bestSum = sum ;
            if(K == cnt)
            first = dx, last = i + K + 1 ;
        }


        }

    cout << first << ' ' << last << ' ' << bestSum << '\n' ;
    cin.close() ;
    cout.close() ;
    return 0 ;
}