Cod sursa(job #2040047)

Utilizator cristii2000cristiiPanaite Cristian cristii2000cristii Data 15 octombrie 2017 13:05:15
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.8 kb
#include <cstdio>

using namespace std;

int n, k, sum[50010], x;

void citire()
{
    scanf("%d %d", &n, &k);
    scanf("%d", &sum[1]);

    for(int i = 2; i <= n; i++)
        {
            scanf(" %d", &x);
            sum[i] = sum[i-1] + x;
        }
}

void parcurgere()
{
    int start=1, stop=k, mini=0, suMax=sum[k];
    for(int i=1 ; i<=n-k ; i++)
    {
        if(suMax < sum[i+k] - mini)
        {
            suMax = sum[i+k] - mini;
            stop = i + k;
        }
        if(mini > sum[i])
        {
            mini = sum[i];
            start = i + 1;
        }
    }
    printf("%d %d %d", start, stop, suMax);
}

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

    citire();
    parcurgere();
    return 0;
}