Cod sursa(job #1093975)

Utilizator gerd13David Gergely gerd13 Data 28 ianuarie 2014 20:00:00
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.85 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,   dx, first, last;
int bestSum;
int loserSum;

int main()
{

    cin >> N >> K ;
    for(int i = 1; i <= N ; ++ i)
    {
        cin >> A[i] ;
        A[i] = A[i] + A[i - 1 ];
    }
    bestSum = -INF ;
    loserSum = INF ;
    for(int i = K ; i <= N ; ++ i)
    {
        if(A[i - K] < loserSum)
        {
            loserSum = A[i -K] ;
            dx = i - K + 1 ;
        }
        if(A[i] - loserSum > bestSum)
        {
            bestSum = A[i] - loserSum ;
            first = dx ;
            last = i ;
        }


    }

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