Cod sursa(job #1895692)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 28 februarie 2017 10:00:08
Problema Secventa 2 Scor 10
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <fstream>
#include <iostream>
#define maxn 50001
#define INF 0x3f3f3f3f
using namespace std;

int n, k, s[maxn];
int best[maxn], maxim = -INF, beg, endn, minim = INF;
int d[maxn], st = 1, dr;

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

int main(){
    f >> n >> k;
    for(int i=1; i<=n; ++i) f >> s[i], s[i]+=s[i-1];

    for(int i=1; i<=n; ++i){
        if(s[i] < minim){
            minim = s[i];
            d[i] = minim;
        }
        else d[i] = d[i-1];
        if(i - k >= 0 and s[i] - d[i-k] > maxim){
            maxim = s[i] - d[i-k];
            beg = i-k+1;
            endn = i;
        }
    }
    g << beg << ' ' << endn << ' ' << maxim;
}