Cod sursa(job #1009394)

Utilizator mateidanutDanut Gabriel Matei mateidanut Data 12 octombrie 2013 23:57:49
Problema Text Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <fstream>
using namespace std;

int n, k, poz[50001], mini[50001], s[50001], i, maxi=-2000000000, ps, pf;
short a[50001];


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

int main() {
    f>>n>>k;
    mini[0]=0;
    for (i=1; i<=n; ++i) {
        f>>a[i];
        s[i]=s[i-1]+a[i];
        if (s[i]<mini[i-1]) {
            mini[i]=s[i];
            poz[i]=i;
        }
        else {
            mini[i]=mini[i-1];
            poz[i]=poz[i-1];
        }
    }
    for (i=k; i<=n; ++i)
        if (s[i]-mini[i-k]>maxi) {
            pf=i;
            ps=poz[i-k]+1;
            maxi=s[i]-mini[i-k];
        }
    g<<ps<<' '<<pf<<' '<<maxi;
    return 0;
}