Cod sursa(job #906821)

Utilizator marta_diannaFII Filimon Marta Diana marta_dianna Data 7 martie 2013 11:04:42
Problema Secventa 2 Scor 30
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.76 kb
#include<fstream>
#define NMAX 50010

using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

long long  s[NMAX];
int n, k;

void Citeste()
{
    int i, x;

    f>>n>>k;

    for (i=1; i<=n; ++i)
    {
        f>>x;
        s[i]=s[i-1]+x;
    }
}

void Solve()
{
    int i;
    long long mx=s[k], pi=1, pf=k, mn=s[1], pzmn=1;

    for (i=k+1; i<=n; ++i)
    {
        if (mn>=s[i-k])
        {
            mn=s[i-k];
            pzmn=i-k+1;
        }

        if (s[i]-s[pzmn]>mx)
        {
            mx=s[i]-mn;
            pi=pzmn;
            pf=i;
        }
    }

    g<<pi<<" "<<pf<<" "<<mx<<"\n";


}

int main()
{
    Citeste();

    Solve();

    f.close();
    g.close();
    return 0;
}