Cod sursa(job #2038881)

Utilizator GrasuneAlexandruGrasune Alexandru Mihai GrasuneAlexandru Data 14 octombrie 2017 08:48:09
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.93 kb
#include <cstdio>
#include <deque>
#define N 50001

using namespace std;

int n,k,suma[N],st,dr,nr;
deque<int>D;

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 ", &nr);
        suma[i]=suma[i-1]+nr;
    }
///constr sir de sume pana la locul respecitv

    int maxi=suma[k];
    st=0;
    dr=k;
    for(int i=k+1;i<=n;i++)
    {
        if(maxi<suma[i]-suma[st])
        {
            maxi=suma[i]-suma[st];
            dr=i;
        }
        ///daca el a[i] ar face secventa mai mare il aduaugam si extindem secventa
      if(maxi<suma[dr]-suma[i-k-1])
        {
            maxi=suma[dr]-suma[i-k-1];
            st=i-k-1;
        }
        /// daca secventa ar fi mai mare fara ultimul element atunci il sertgem
    }

    printf("%d %d %d", st+1, dr, maxi);
    return 0;
}