Cod sursa(job #2038176)

Utilizator maria_sinteaMaria Sintea maria_sintea Data 13 octombrie 2017 14:16:21
Problema Secventa 2 Scor 70
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.69 kb
#include <cstdio>
#define N 50005

using namespace std;

int s[N], a[N], n, k, maxim, pmax, pmin;

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

    scanf("%d %d\n", &n, &k);
    for(int i=1;i<=n;i++)
    {
        scanf("%d ", &a[i]);
        s[i]=s[i-1]+a[i];
    }

    maxim=s[k];
    pmax=k; pmin=1;
    for(int i=k+1;i<=n;i++)
    {
        if(maxim<s[i]-s[pmin])
        {
            maxim=s[i]-s[pmin];
            pmax=i;
        }
        if(maxim<s[pmax]-s[i-k-1])
        {
            maxim=s[pmax]-s[i-k-1];
            pmin=i-k-1;
        }
    }

    printf("%d %d %d", pmin+1, pmax, maxim);
    return 0;
}