Cod sursa(job #1254611)

Utilizator CiurezAndreiCiurez Marius-Andrei CiurezAndrei Data 2 noiembrie 2014 23:31:44
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <fstream>

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

int n, k, v[50500], p, u, st, dr, i, D[50500],umax,pmax;
int main()
{
    int max = -2000000000;
    fin >> n >> k;
    for(i = 1; i<= n; i ++){
        fin >> v[i];
        v[i] += v[i - 1];
    }
    D[k] = v[k];
    p = 1;
    pmax = 1;
    umax = k;
    for(i = k + 1; i <= n; i ++){
        if(v[i] - v[i - k] > D[i - 1] + v[i] - v[i - 1]){
            D[i] = v[i] - v[i - k];
            p = i - k + 1;
        }
        else
            D[i] = D[i - 1] + v[i] - v[i - 1];
        if( D[i] > max){
            max = D[i];
            pmax = p;
            umax = i;
        }
    }

    fout << pmax << " "<< umax << " " << max;
    return 0;
}