Cod sursa(job #2911338)

Utilizator Mihai_999Diaconeasa Mihai Mihai_999 Data 28 iunie 2022 16:53:54
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.89 kb
#include <bits/stdc++.h>
#define nl '\n'

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");
const int NMax = 50505;
int v[NMax], sp[NMax], ans[NMax];
int main()
{
    ios_base::sync_with_stdio(false);
    cin.tie(0);
    cout.tie(0);
    int k, n;
    fin >> n >> k;
    for (int i = 1; i <= n; i++)
    {
        fin >> v[i];
        sp[i] = sp[i-1]+v[i];
    }
    int sumprev = 0, lprev = 1, maxim = -10000000, lmax, rmax;
    for (int i = k; i <= n; i++)
    {
        ans[i] = sp[i]-sp[i-k];
        sumprev+=v[i-k];
        if (sumprev < 0)
        {
            sumprev = 0;
            lprev = i-k+1;
        }
        ans[i]+=sumprev;
        if (maxim < ans[i])
        {
            maxim = ans[i];
            lmax = lprev;
            rmax = i;
        }
    }
    fout << lmax << ' ' << rmax << ' ' << maxim;
    return 0;
}