Cod sursa(job #2862241)

Utilizator roman_59Roman Andrei Razvan roman_59 Data 5 martie 2022 09:11:13
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.88 kb
#include <fstream>
std::ifstream fin("secv2.in");
std::ofstream fout("secv2.out");

const int DIM=50001;
int v[DIM], x, pozi, pozsf, pozminim, minim, n, k, smax;

int main()
{

    fin>> n >> k;
    for(int i=1; i<=n; i++)
    {
        fin>> x;
        v[i]=v[i-1]+x;
    }
    for(int i=1; i<k; i++)
    {
        if(v[i]<minim)
        {
            minim=v[i];
            pozminim=i;
        }
    }
    for(int i=k; i<=n; i++)
    {
        if(i-pozminim>=k && v[i]-minim>smax)
        {
            smax=v[i]-minim;
            pozi=pozminim+1;
            pozsf=i;
        }
        if(v[i]-v[i-k]>smax)
        {
            smax=v[i]-v[i-k];
            pozi=i-k+1;
            pozsf=i;
        }
        if(v[i]<minim)
        {
            minim=v[i];
            pozminim=i;
        }

    }
    fout<< pozi << " " << pozsf << " " << smax;

}