Cod sursa(job #1769842)

Utilizator eragon0502Dumitrescu Dragos eragon0502 Data 3 octombrie 2016 11:44:43
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <cstdio>

using namespace std;
int v[6000005];
int main()
{
    freopen("secv2.in","r",stdin);
    freopen("secv2.out","w",stdout);
    int smax=1<<31,inc,incmax,k,i,sc,sk,dr,n,imax;
    scanf("%d %d",&n,&k);
    //st=1;
    dr=k;
    sc=0;
    for(i=1; i<=n; ++i)
    {
        scanf("%d",&v[i]);
        if(i<=k)
            sc+=v[i];
    }
    smax=sk=sc;
    imax = k;
    incmax = 1;
    inc=1;
    while(dr!=n)
    {
        ++dr;
        if(sk-v[dr-k]<sc)
        {
            sk=sk+v[dr]-v[dr-k];
            sc+=v[dr];
        }
        else
        {
            sk=sk+v[dr]-v[dr-k];
            sc=sk;
            inc=dr-k+1;
        }
        if(sc>smax)
        {
            smax=sc;
            imax=dr;
            incmax=inc;
        }
    }
    printf("%d %d %d\n",incmax,imax,smax);
    return 0;
}