Cod sursa(job #2472200)

Utilizator razvanradulescuRadulescu Razvan razvanradulescu Data 12 octombrie 2019 10:25:01
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <fstream>

using namespace std;

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

int n, k, maxim = -1000000, startMax, endMax;
int a[50002];

void solve()
{
    int suma = 0, sumaUltK = 0, x, startCurr = 0;
    f>>n>>k;
    for(int i = 0; i<k; i++)
    {
        f>>a[i];
        suma+=a[i];
        sumaUltK+=a[i];
    }
    maxim = suma;
    startMax = 0;
    endMax = k-1;
    for(int i = k; i<n; i++)
    {
        f>>a[i];
        suma+=a[i];
        sumaUltK-=a[i-k];
        sumaUltK+=a[i];
        if(sumaUltK > suma)
        {
            startCurr = i-k+1;
            suma = sumaUltK;
        }
        if(suma > maxim)
        {
            maxim = suma;
            startMax = startCurr;
            endMax = i;
        }
    }
    g<<startMax+1<<" "<<endMax+1<<" "<<maxim;
}

int main()
{
    solve();
    return 0;
}