Cod sursa(job #1769837)

Utilizator eragon0502Dumitrescu Dragos eragon0502 Data 3 octombrie 2016 11:40:39
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.88 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];
        }
    sk=sc;
    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;
}