Cod sursa(job #1026329)

Utilizator george_stelianChichirim George george_stelian Data 11 noiembrie 2013 15:14:05
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.75 kb
#include <cstdio>
#define inf 1000000000

using namespace std;

int v[50001],v1[50001],v2[50001],n,k,i,maxs,a,b,x;

int main()
{
    freopen("secv2.in", "r", stdin);
    freopen("secv2.out", "w", stdout);
    scanf("%d%d",&n,&k);
    maxs=-inf;
    for(i=1;i<=n;i++)
    {
        scanf("%d",&x);
        v[i]=v[i-1]+x;
        if(v1[i-1]>0)
        {
            v1[i]=v1[i-1]+x;
            v2[i]=v2[i-1];
        }
        else
        {
            v1[i]=x;
            v2[i]=i;
        }
        if(i>=k && v[i]-v[i-k+1]+v1[i-k+1]>maxs)
        {
            maxs=v[i]-v[i-k+1]+v1[i-k+1];
            a=v2[i-k+1];
            b=i;
        }
    }
    printf("%d %d %d",a,b,maxs);
    fclose(stdin);fclose(stdout);
    return 0;
}