Cod sursa(job #916469)

Utilizator Walrus21andrei Walrus21 Data 16 martie 2013 15:55:23
Problema Secventa 2 Scor 50
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.66 kb
#include <stdio.h>

using namespace std;

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

int i,J,p1(1),p2,j[50000],N,K,S,s,sum,v[50000],ST[50000],st[50000];

int main()
{
    fscanf(f,"%d%d",&N,&K);
    for(i=1;i<=N;i++)
     fscanf(f,"%d",&v[i]);
    p2=K; st[1]=v[1]; j[1]=1;
    for(i=2;i<=N;i++)
     {if(st[i-1]>=0) st[i]=st[i-1]+v[i];
     else {st[i]=v[i]; J=i;}
     j[i]=J;
     }
    for(i=2;i<=K;i++)
     S+=v[i];
    s=S+v[1];
    for(i=K+1;i<=N;i++)
    {
        S+=v[i]-v[i-K+1];
        ST[i]=S+st[i-K+1];
        if(ST[i]>s) {s=ST[i]; p1=j[i-K+1]; p2=i;}
    }
    fprintf(g,"%d %d %d",p1,p2,s);
    return 0;
}