Cod sursa(job #56590)

Utilizator RazvanSSavu Razvan RazvanS Data 29 aprilie 2007 23:20:34
Problema Secventa 2 Scor 60
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>

#define MIN -1250000001
#define MAXN 50001

int n, k;
int A[MAXN], V[MAXN];

int main( void )
    {
     freopen("secv2.in", "r", stdin);
     scanf("%d %d\n", &n, &k);
     int i;
     for(i=1;i<=n;++i)
        scanf("%d ", &A[i]);
     
     
     int max = MIN;
     for(i=1;i<=k-1;++i)
        V[k-1]+=A[i];
     int poz=0, poz1, poz2;    
     
     for (i=k;i<n;i++)
    { if ( V[i-1] > ( V[i-1] - A[poz] ) ) V[i]=V[i-1]+A[i];
    else {V[i]=V[i-1]-A[poz]+A[i];
          poz++;poz1=poz;}
    if (V[i]>max) {max=V[i];poz2=i;}
    }
   
   freopen("secv2.out", "w", stdout);
   printf("%d %d %d\n", poz1, poz2, max);
   
   return 0;
}