Cod sursa(job #596117)

Utilizator Smaug-Andrei C. Smaug- Data 15 iunie 2011 23:16:56
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.57 kb
#include <cstdio>
#include <algorithm>
using namespace std;

#define MAXN 50010
#define LOW -(1<<30)

int main(){

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

  int N, K, S[MAXN], i, mins, minp, l, r, maxs;

  scanf("%d%d", &N, &K);
  for(i=1; i<=N; i++)
    scanf("%d", S+i);

  for(i=2; i<=N; i++)
    S[i]+=S[i-1];

  maxs=LOW; mins=0; minp=1;

  for(i=K; i<=N; i++){
    if(maxs < S[i]-mins)
      maxs=S[i]-mins, l=minp, r=i;

    if(mins > S[i-K+1])
      mins=S[i-K+1], minp=i-K+2;
  }

  printf("%d %d %d\n", l, r, maxs);

  return 0;

}