Cod sursa(job #1677530)

Utilizator andrei32576Andrei Florea andrei32576 Data 6 aprilie 2016 17:24:52
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.77 kb
#include<fstream>
using namespace std;
long n,k,i,a[50010],pin,psf,maxsum,s[50010],p;
ifstream f("secv2.in");
ofstream g("secv2.out");

void solve()
{
    ofstream out("secv2.out");
    int pinceput, psfarsit, maxSum = -(1 << 30);
    int pminS = 0;
    for (int i = k - 1; i < n; ++i)
    {

        if (s[i + 1] - s[pminS] > maxSum)
        {
            maxSum = s[i + 1] - s[pminS];
            pinceput = pminS + 1;
            psfarsit = i + 1;
        }

        if (s[i - k + 2] < s[pminS])
        {
            pminS = i-k+2;
        }
    }

    g<<pinceput<<' '<< psfarsit <<' '<<maxSum<<"\n";
}

int main()
{

    f>>n>>k;
    for(i=0;i<n;++i)
    {
        f>>a[i];
        s[i+1]=s[i]+a[i];
    }
    solve();

    return 0;
}