Cod sursa(job #2365503)

Utilizator pcinfoCarmen Popescu pcinfo Data 4 martie 2019 14:10:54
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <cstdio>

using namespace std;

int s[50005],n,v[500005];

FILE *f,*g;


int main()
{
    int mx,i,j,a,k,p1,p2;

    f=fopen("secv2.in","r");
    g=fopen("secv2.out","w+");

    setvbuf ( f , NULL , _IOFBF , 1024 );

    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 (i==k) { mx=s[i]; p2=i; }
        else
            if (i>k && s[i]>mx){ mx=s[i]; p2=i; }
    }
    p1=1;

    a=mx-s[p2-k];
    if (a>mx) { mx=a; p1=p2-k+1; }

    for (i=p2-k;i>=1;i--)
    {
        a=a+v[i];
        if (a>mx) { mx=a; p1=i; }
    }


    fprintf(g,"%d %d %d\n",p1,p2,mx);
    fclose(f); fclose(g);
    return 0;
}