Cod sursa(job #1847722)

Utilizator victoreVictor Popa victore Data 14 ianuarie 2017 22:28:56
Problema Secventa 2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.64 kb
#include <cstdio>

using namespace std;
int v[50005];
int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    int st,dr,n,i,j,k,sp=0,smax,a,b;
    scanf("%d%d",&n,&k);
    for(i=1;i<=n;i++)
    {
        scanf("%d",&v[i]);
        if(i<=k)
            sp+=v[i];
    }
    smax=sp;
    a=1;
    b=k;
    for(st=1,dr=k+1;dr<=n;dr++)
    {
        while(sp<=0&&(dr-st)>=k)
        {
            sp-=v[st];
            st++;
        }
        sp+=v[dr];
        if(sp>smax)
        {
            a=st;
            b=dr;
            smax=sp;
        }
    }
    printf("%d %d %d",a,b,smax);
}