Cod sursa(job #1360310)

Utilizator stefan_bogdanstefan bogdan stefan_bogdan Data 25 februarie 2015 13:45:21
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <stdio.h>
using namespace std;
FILE *f,*g;
int s[50001];
int main()
{
    int i,k,x,n,imaxim,jmaxim,maxim,minim,iminim;
    f = fopen("secv2.in","r");
    g = fopen("secv2.out","w");
    fscanf(f,"%d %d\n",&n,&k);
    fscanf(f,"%d ",&s[1]);
    minim = 0; iminim = 0;
    for (i=2; i<=n; i++)
    {
        fscanf(f,"%d",&x);
        s[i] = s[i-1]+x;
    }
    maxim = s[k]; imaxim = 1; jmaxim = k;
    for (i=k; i<=n; i++)
    {
        if (s[i] > maxim)
        {
            maxim = s[i];
            imaxim = 1;
            jmaxim = i;
        }
        if (s[i-k] < minim)
        {
            minim = s[i-k];
            iminim = i-k;
        }
        if (s[i]-minim > maxim)
        {
            maxim = s[i]-minim;
            imaxim = iminim+1;
            jmaxim = i;
        }
    }
    fprintf(g,"%d %d %d",imaxim,jmaxim,maxim);
    fclose(f);
    fclose(g);
    return 0;
}