Cod sursa(job #2956482)

Utilizator TudorAndreiCalciuCalciu Tudor Andrei TudorAndreiCalciu Data 19 decembrie 2022 16:59:06
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.85 kb
#include <fstream>

using namespace std;
const int N = 50000;
const int INF = 2e9;
int main()
{
    ifstream fin("secv2.in");
    ofstream fout("secv2.out");
    int n, k, v[N + 1] = {0}, sc = -INF, st, smax = -INF, sk = 0, stmax, drmax;
    fin >> n >> k;
    for(int i = 1; i <= n; i++)
    {
        fin >> v[i];
        sk += v[i];
        if(i > k)
            sk -= v[i - k];
        if(i >= k)
        {
            if(sk > sc + v[i])
            {
                sc = sk;
                st = i - k + 1;
            }
            else
                sc += v[i];
            if(i >= k && sc > smax)
            {
                smax = sc;
                stmax = st;
                drmax = i;
            }
        }
    }
    fout << stmax << ' ' << drmax << ' ' << smax;
    fin.close();
    fout.close();
    return 0;
}