Cod sursa(job #1984156)

Utilizator FredyLup Lucia Fredy Data 23 mai 2017 20:40:06
Problema Secventa 2 Scor 100
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.92 kb
#include <iostream>
#include <fstream>

using namespace std;

ifstream fin("secv2.in");
ofstream fout("secv2.out");

#define lim 50001
int v[lim],n,k,st,dr,smax,s,x,rez1,rez2;

int main()
{
    fin>>n>>k;
    smax=-1000000000;
    fin>>x;
    s=x;
    st=dr=1;
    if (1>=k)
    {
        smax=s;
        rez1=rez2=1;
    }
    v[1]=x;
    for(int i=2; i<=n; i++)
    {
        fin>>x;
        v[i]=v[i-1]+x;

        if (i==k && rez1==0)
        {
            smax=v[i];
            rez1=1;
            rez2=i;
        }

        if (s>0)
        {
            s+=x;
            dr=i;
        }

        else
        {
            s=x;
            st=dr=i;
        }

        if (s>smax && dr-st+1>=k)
        {
            smax=s;
            rez1=st;
            rez2=dr;
        }
    }

    fout<<rez1<<' '<<rez2<<' '<<smax;

    fin.close();
    fout.close();
    return 0;
}