Cod sursa(job #600967)

Utilizator a_h1926Heidelbacher Andrei a_h1926 Data 4 iulie 2011 14:59:33
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.91 kb
#include <iostream>
#include <fstream>

#define NMax 50005

using namespace std;

int N, K, X[NMax], SMax, Si, Sj;

void Read ()
{
    ifstream fin ("secv2.in");
    fin >> N >> K;
    for (int i=1; i<=N; ++i)
    {
        fin >> X[i];
    }
    fin.close ();
}

void Print ()
{
    ofstream fout ("secv2.out");
    fout << Si << " " << Sj << " " << SMax << "\n";
    fout.close ();
}

int main()
{
    int Sk=0, S, ii;
    Read ();
    for (int i=1; i<=K; ++i)
    {
        Sk+=X[i];
    }
    S=Sk;
    Si=1;
    Sj=K;
    ii=1;
    for (int i=K+1; i<=N; ++i)
    {
        Sk=Sk-X[i-K]+X[i];
        if (S+X[i]<Sk)
        {
            S=Sk;
            ii=i-K+1;
        }
        else
        {
            S+=X[i];
        }
        if (S>SMax)
        {
            SMax=S;
            Si=ii;
            Sj=i;
        }
    }
    Print ();
    return 0;
}