Cod sursa(job #2430169)

Utilizator rd211Dinucu David rd211 Data 12 iunie 2019 23:35:26
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int k,n;
short s[50010];
short calc[50010];
int main()
{
    fin>>n>>k;
    for(int i = 1;i<=n;i++)
        fin>>s[i],s[i]+=s[i-1];
    int minimum=1000000,minIndex;

    for(int i = k;i<=n;i++)
    {
        if(s[i-k+1] < minimum)
            minimum = s[i-k+1],minIndex = i-k+1;
        calc[i] = minIndex;
    }

    int bestSuma = -1000000,start,stop;
    for(int i = k;i<=n;i++)
    {
        if(bestSuma<s[i]-s[calc[i]])
        {
            bestSuma=s[i]-s[calc[i]];
            start = calc[i]+1,stop =i;
        }
    }
    fout<<start<<" "<<stop<<" "<<bestSuma<<'\n';
    return 0;
}