Cod sursa(job #2005527)

Utilizator SCatalinStanciu Catalin SCatalin Data 27 iulie 2017 13:33:49
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <iostream>
#include <fstream>

using namespace std;

int v[50005],s[50005];

int main()
{
    ifstream in("secv2.in");
    ofstream out("secv2.out");
    int n,k,i,j,Max=-1250000005,poz1,poz2;
    in >> n >> k;
    for (i = 1; i<=n; i++)
    {
        in >> v[i];
        s[i]+=v[i]+s[i-1];
    }
    if (k == n)
    {
        poz1 = 0;
        poz2 = n;
    }
    else
        poz1 = poz2 = 0;
    Max = s[k];
    for (i = k+1; i<=n; i++)
    {
        if (s[i]-s[poz1] < s[i] - s[i-k])
            poz1 = i-k;
        if (s[i]-s[poz1]>Max)
        {
            Max = s[i]-s[poz1];
            poz2 = i;
        }
    }
    out << poz1+1 << " " << poz2 << " " << Max;
    return 0;
}