Cod sursa(job #1093972)

Utilizator gerd13David Gergely gerd13 Data 28 ianuarie 2014 19:56:19
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 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,  cnt, 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 = 1 ; 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 ;
}