Cod sursa(job #1669117)

Utilizator APatarlageanuAndreea Patarlageanu APatarlageanu Data 30 martie 2016 13:08:43
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <fstream>
#include <iostream>

int s[5000000];

using namespace std;
ifstream in ( "secv2.in" );
ofstream out ( "secv2.out" );

int main()
{
    int n, k, i, smax, sc, pc, umax, x, pmax;

    in>>n>>k;
    s[0] = 0;
    for ( i = 1; i <= k; i++ ) {
        in>>x;
        s[i] = s[i-1] + x;
    }
    smax = sc = s[k];
    pc = pmax = 1;
    umax = k;
    for ( ; i <= n; i++ ) {
        in>>x;
        s[i] = s[i-1] + x;
        if ( s[i] - s[i-k] > sc + x ) {
            sc = s[i] - s[i-k];
            pc = i - k + 1;
        }
        else {
            sc = sc + x;
        }
        if ( sc > smax )
        {
            smax = sc;
            pmax = pc;
            umax = i;
        }
    }
    out << pmax <<" "<<umax << " " << smax;


    return 0;
}