Cod sursa(job #1166837)

Utilizator bciobanuBogdan Ciobanu bciobanu Data 3 aprilie 2014 20:55:43
Problema Secventa 2 Scor 0
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.83 kb
#include <fstream>
using namespace std;
static const int NMAX=50005;
int main()
{
    fstream f("secv2.in",ios::in),g("secv2.out",ios::out);
    short n,k,i,x,indice1=1,indice2,max_so_far,indice3=1,max_ending_here,s[NMAX]={},v[NMAX]={};
    f>>n>>k;
    indice2=k;
    for(i=1;i<=n;++i)
    {
        f>>v[i];
        s[i]=s[i-1]+v[i];
    }
    f.close();
    max_so_far=max_ending_here=s[k];
    for(i=k+1;i<=n;++i)
    {
        max_so_far+=v[i];
        if(max_so_far<s[i]-s[i-k])
        {
            max_so_far=s[i]-s[i-k];
            indice3=i-k+1;
        }
        if(max_so_far>max_ending_here)
        {
            max_ending_here=max_so_far;
            indice1=indice3;
            indice2=i;
        }
    }
    g<<indice1<<" "<<indice2<<" "<<max_ending_here<<"\n";
    g.close();
    return 0;
}