Cod sursa(job #761140)

Utilizator visanrVisan Radu visanr Data 24 iunie 2012 22:20:07
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.74 kb
#include <cstdio>
#include <cstdlib>
#include <cmath>
using namespace std;


int main()
{
    freopen("secventa2.in", "r", stdin);
    freopen("secventa2.out", "w", stdout);
    long i, st = 0, dr, n, k, v[100001], best = (-1) * (1 << 31), min = 0;
    scanf("%ld %ld", &n, &k);
    v[0] = 0;
    for(i = 1; i <= n; i++)
    {
          scanf("%ld", &v[i]);
          v[i] += v[i - 1];
          if(v[i] < min)
          {
                  min = v[i];
                  st = i;
          }
          if((v[i] - min > best) && (i - st + 1 >= k)) 
          {
                   best = v[i] - min;
                   dr = i;
          }
    }
    printf("%ld %ld %ld\n", st + 1, dr, best);
    scanf("%i", &i);
    return 0;
}