Cod sursa(job #1883329)

Utilizator RaresEGaySopterean Adrian RaresEGay Data 17 februarie 2017 21:36:34
Problema Secventa 2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.65 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;

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){
        for(int j=1; j<=i-k+1; ++j){
            best[i] = s[i] - min(s[j], s[i-k]);
            if(best[i] > maxim){
                maxim = best[i];
                s[j] < s[i-1] ? beg = j+1 : beg = i-1;
                endn = i;
            }
        }
    }
    g << beg << ' ' << endn << ' ' << maxim;
}