Cod sursa(job #2602887)

Utilizator Darius_CDarius Chitu Darius_C Data 18 aprilie 2020 01:07:16
Problema Secventa 2 Scor 40
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 1.14 kb
#include <iostream>
#include <fstream>
using namespace std;

ifstream f("secv2.in");
ofstream g("secv2.out");

typedef long long ll;

/*
int main()
{
    int n,k=0,v[50005], sum=0, Smax=-int(2e9), contor=0, p, u;
    f >> n >> k;
    for (int i=1; i<=n; i++)
        f >> v[i];
    for (int i=1; i<=n; i++)
    {
        sum=0;
        for (int j=i; j<=n; j++)
        {
            sum +=v[j];
            if(sum>Smax && j-i+1>=k)
            {
                Smax=sum;
                p=i;
                u=j;
            }
        }
    }
    g << p << " " << u << " " << Smax;
    return 0;
}
*/


int main()
{
    ll n,k=0,v[50005], bestSum=-int(2e9), contor=0, idx=-1,p,u, vmin=int(2e9);
    f >> n >> k;
    for (int i=1; i<=n; i++)
        f >> v[i];
    for (int i=1; i<=n; i++)
    {
        v[i]+= v[i-1];
        if (bestSum < v[i]- vmin && i-idx>=k && idx!=-1)
        {
            bestSum = v[i] - vmin;
            p=idx+1; u=i;
        }
        if (vmin > v[i])
        {
            vmin = v[i];
            idx=i;
        }
    }
    g << p << " " << u << " " <<bestSum;
    return 0;
}