Cod sursa(job #994123)

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

int i, j, n, k, x, start, in, sf;
long long sum[SIZE], MAX=INT_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 %d\n", 1, n, sum[k]);
    else
    {
        for(i=1; i<=n; ++i)
        {
            if(sum[i]<MIN)
                start=i+1, MIN=sum[i];
            if(i-start+1>k && MAX < sum[i]-MIN)
            {
                in=start;
                sf=i;
                MAX=sum[i]-MIN;
            }
        }
        printf("%d %d %d\n", in, sf, MAX);
    }
    return 0;
}