Cod sursa(job #994150)

Utilizator gbi250Gabriela Moldovan gbi250 Data 4 septembrie 2013 23:55:08
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.7 kb
#include <cstdio>
#include <climits>
#define SIZE 50001
using namespace std;

int i, j, n, k, x, in, sf;
long long sum[SIZE], MAX=LONG_LONG_MIN, MIN;


int main()
{
    freopen("secv2.in", "r", stdin);
    freopen("secv2.out", "w", stdout);
    scanf("%d %d", &n , &k);
    for(i=1; i<=n; ++i)
        scanf("%d", &x), sum[i]=sum[i-1]+x;
    if(n==k)
        printf("%d %d %lld\n", 1, n, sum[k]);
    else
    {
        for(i=1; i<=n; ++i)
        {
            if(sum[i]<MIN)
                in=i, MIN=sum[i];
            if(i-in >= k && MAX < sum[i]-MIN)
            {
                sf=i;
                MAX=sum[i]-MIN;
            }
        }
        printf("%d %d %lld\n", in+1, sf, MAX);
    }
    return 0;
}