Cod sursa(job #1979218)

Utilizator alexandra_paticaAndreea Alexandra Patica alexandra_patica Data 9 mai 2017 22:57:35
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.82 kb
#include <cstdio>
#include <algorithm>
using namespace std;

int n, k, i, x, s, p1, p2, poz1, poz2, Max, a[50100];

int main ()
{

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

    scanf("%d%d", &n, &k);
    scanf("%d", &x);
    s=x;
    p1=p2=1;
    if (1>=k){
        Max=s;
        poz1=poz2=1;
    }
    a[1]=x;
    for (i=2; i<=n; i++){
        scanf("%d", &x);
        a[i]=a[i-1]+x;
        if (i==k && poz1==0){
            Max=a[i];
            poz1=1; poz2=i;
        }
        if (s+x>x){
            s+=x;
            p2=i;
        }
        else{
            s=x;
            p1=p2=i;
        }
        if (s>Max && p2-p1+1>=k){
            Max=s;
            poz1=p1; poz2=p2;
        }
    }
    printf("%d %d %d", poz1, poz2, Max);
    return 0;
}