Cod sursa(job #469744)

Utilizator miculprogramatorA Cosmina - vechi miculprogramator Data 8 iulie 2010 18:50:41
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <stdio.h>
#include <vector>
using namespace std;

int best[50001];
int v[50001], s[50001];
int n, i, j, k, K;
int Max = -1250000001, p1, p2;
int Min = 1250001;

int main ()
{
    FILE *f = fopen ("secv2.in","r");
    FILE *g = fopen ("secv2.out","w");
    fscanf (f,"%d %d", &n, &K);
    for (i=1; i<=n; ++i)
    {
        fscanf (f,"%d", &v[i]);
        s[i] = s[i-1] + v[i];
        /*if (Min > s[i-1])
        {
            Min = s[i-1];
            p2 = i;
        }*/
    }
    Min = s[1];
    for (i=1; i<=n; ++i)
    {
        best[i] = s[i] - Min;
        if (Min > s[i-K])
            Min = s[i-K];
        if (Max < best[i])
        {
            Max = best[i];
            p2 = i;
            p1 = i - K - 1;
        }
        //printf ("%d ", best[i]);
    }

    fprintf (g,"%d %d %d", p1, p2, Max);

    fclose(g);
    fclose(f);
    return 0;
}