Cod sursa(job #1337939)

Utilizator sterymanSterian Cosmin Cristian steryman Data 9 februarie 2015 17:36:40
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.98 kb
#include <iostream>
#include <fstream>

using namespace std;
int s[50001];

int main()
{
    ifstream f("secv2.in");
    ofstream g("secv2.out");
    int n,i,j=1,sc=-1,smax=-2000000000,k=1,h=1,t,sk=0;
    f>>n>>t;
    for(i=1;i<=n;i++)
        f>>s[i];
    /*
        if(sc<0)
        {
            sc=0;
            k=i;
        }
        sc+=s[i];
        if(sc>smax && (i-k)>=t)
        {
            smax=sc;
            j=i;h=k;
        }
    }
    if(k==n)
    {
        smax=0;
        for(i=1;i<=n;i++)
            smax+=s[i];
        g<<"1 "<<n<<" "<<smax;
    }
    else*/
    for(i=1;i<=t;i++)
        sk+=s[i];
    sc=smax=sk;
    k=1;
    h=1;
    j=t;
    for(i=t+1;i<=n;i++)
    {
        sk=sk-s[i-t]+s[i];
        if(sk>sc+s[i])
        {
            sc=sk;
            k=i-t+1;
        }
        else
            sc+=s[i];
        if(sc>smax)
        {
            smax=sc;
            j=i;h=k;
        }
    }
    g<<h<<" "<<j<<" "<<smax;
    f.close();
    g.close();
    return 0;
}