Cod sursa(job #1274509)

Utilizator eu3neuomManghiuc Teodor-Florin eu3neuom Data 23 noiembrie 2014 21:54:36
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <iostream>
#include <fstream>
#include <algorithm>

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

const int NMax = 50010;
long long v[NMax];

int main()
{
    int N,K,bsum,bpf,bpi,pi,pf,sum;
    f >> N >> K;
    for(int i = 1; i <= N; i++){
        f >> v[i];
        v[i] += v[i-1];
    }
    bpi = bpf = pi = pf =K;
    sum = bsum = v[K];
    for(int i = K + 1; i <= N; i++){
        if(v[i] - v[i-K] > sum + v[i] - v[i-1]){
            pf = i;
            sum = v[i] - v[i-K];
        } else {
            pi = i;
            pf = i;
            sum = sum + v[i] - v[i-1];
        }
        if(sum > bsum){
            bsum = sum;
            bpi = pi;
            bpf = pf;
        }
    }
    g << bpi - K + 1 << " " << bpf << " " << bsum;
    return 0;
}