Cod sursa(job #1769167)

Utilizator caesar2001Stoica Alexandru caesar2001 Data 1 octombrie 2016 23:33:06
Problema Secventa 2 Scor 40
Compilator c Status done
Runda Arhiva de probleme Marime 0.86 kb
#include <stdio.h>
#include <stdlib.h>
FILE *in,*out;
sum[50001];
int main()
{
    in = fopen("secv2.in","r");
    out = fopen("secv2.out","w");
    int n,k,i,sc = 0,x,smax = -2147483646,p = 0,pmax = 0,umax = 0;
    fscanf(in,"%d %d\n",&n,&k);
    for(i = 1;i <= n;i ++)
    {
        fscanf(in,"%d",&x);
        sum[i] = sum[i-1] + x;
        if(sc < 0)
        {
            sc = 0;
            p = i;
        }
        sc = sc + x;
        if(i >= k)
        {
            if(sc > smax)
            {
                smax = sc;
                umax = i;
                pmax = p;
            }
            if(sum[i] - sum[i-k] > smax)
            {
                smax = sum[i] - sum[i-k];
                umax = i;
                pmax = i-k + 1;
            }
        }
    }
    fprintf(out,"%d %d %d",pmax,umax,smax);
    return 0;
}