Cod sursa(job #185454)

Utilizator Mishu91Andrei Misarca Mishu91 Data 25 aprilie 2008 13:45:07
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <cstdio>
#define MAX_N 50001

int N,K,V[MAX_N],A[MAX_N];

void read()
{
    scanf("%d %d",&N,&K);
    for(int i=1; i<=N; i++)
        scanf("%d",V+i);
}

void solve()
{
    int mins,mink,pd = 0,ps = 0,max;
    for(int i=1; i<=N; i++)
        A[i] = A[i-1] + V[i];
    mink = mins = 0;
    for(int i = K; i<=N; i++)
    {
        if(A[i - K] < mins)
            mins = A[i - K], mink = i - K;
        if(A[i] - A[mink] > max || !pd)
            max = A[i] - A[mink], pd = i, ps = mink + 1;
    }
    printf("%d %d %d",ps,pd,max);
}

int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    read();
    solve();
}