Cod sursa(job #1248772)

Utilizator CostanMiriamCostan Miriam CostanMiriam Data 25 octombrie 2014 22:46:46
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <fstream>

using namespace std;

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

int n,k,maxim,i,p,pmax,umax;

int d[50010],s[50010];

int main () {

    fin>>n>>k;
    for (i=1;i<=n;i++) {
        fin>>s[i];
        s[i]+=s[i-1];
    }

    d[k]=s[k];
    maxim=d[k];
    pmax=1;
    umax=k;
    for (i=k+1;i<=n;i++) {
        if (s[i]-s[i-k]>d[i-1]+s[i]-s[i-1]){
            d[i]=s[i]-s[i-k];
            p=i-k+1;
        }else
            d[i]=d[i-1]+s[i]-s[i-1];
        if (d[i]>maxim) {
            maxim=d[i];
            pmax=p;
            umax=i;
        }
    }

    fout<<pmax<<" "<<umax<<" "<<maxim<<"\n";

    return 0;
}