Cod sursa(job #241717)

Utilizator alexch16Chelariu Alexandru alexch16 Data 10 ianuarie 2009 19:20:49
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.07 kb
#include <stdio.h>

#define MAX 50001

int main(){
    FILE *intrare, *iesire;

    intrare = fopen("secv2.in", "r");
    iesire = fopen("secv2.out", "w");

    int indI, incmax, sfmax, smax=0, ko, kint;

    indI = 1;
    incmax = sfmax = ko = 0;

    int A[MAX], n, i, k;

    fscanf(intrare, "%d %d", &n, &k);

    for (i=1; i<=n; i++)
        fscanf(intrare, "%d", &A[i]);

    int sum = 0;

    for (i=1; i<=n; i++)
    {
        if (A[i] >= 0)
        {
            sum += A[i], kint++;
            if (sum>smax)
            {
                smax=sum;
                incmax=indI; sfmax=i;
                ko = kint;
            }
        }
        else
            if (sum+A[i] >= 0){
                sum += A[i], kint++;
            }
            else
            { 
                sum=0;
                indI = i+1;
                kint = 0;
            }
    }

    if(ko < k)
        incmax = sfmax = smax = 0;

    fprintf(iesire, "%d %d %d", incmax, sfmax, smax); 
    fclose(intrare);
    fclose(iesire);

    return 0;
}