Cod sursa(job #701595)

Utilizator impulseBagu Alexandru impulse Data 1 martie 2012 16:42:52
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <stdio.h>
#include <iostream>
#define L 50001
using namespace std;
int n, k, a[L];
FILE *f=fopen("secv2.in", "r"),
     *g=fopen("secv2.out", "w");

int main()
{
    fscanf(f, "%d %d\n", &n, &k);
    for(int i =0; i <= n; i++)
        fscanf(f, "%d", &a[i]);

    int max = 0, st = 0, ln = 0, amax = -1, ast = 0, aln = 0;
    for(int i = 0; i < n; i++)
    {
        if(max + a[i] > 0)
        {
            max += a[i];
            ln++;
            if(max > amax && ln >= k)
            {
                amax = max;
                ast = st;
                aln = ln;
            }
        }
        else
        {
            max = 0;
            st = i + 1;
            ln = 0;
        }
    }
    fprintf(g, "%d %d %d", ast + 1, ast + aln - 1, amax);
    fclose(f);
    fclose(g);
    return 0;
}