Cod sursa(job #994110)

Utilizator gbi250Gabriela Moldovan gbi250 Data 4 septembrie 2013 22:35:11
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.68 kb
#include <cstdio>
#include <climits>
#define SIZE 50001
using namespace std;

int i, j, n, k, x, sum[SIZE], sum_temp, MAX=INT_MIN, MIN=INT_MAX, start, in, sf;

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;

    for(i=1; i<=n; ++i)
    {
        if(sum[i]<MIN)
            start=i+1, MIN=sum[i];
        if(i-start>k && MAX < sum[i]-MIN)
        {
            in=start;
            sf=i;
            MAX=sum[i]-MIN;
        }
    }
    if(n>k)
        printf("%d %d %d\n", in, sf, MAX);
    else
        printf("%d %d %d\n", 1, n, sum[k]);
    return 0;
}