Cod sursa(job #2097251)

Utilizator GeoeyMexicanuBadita George GeoeyMexicanu Data 30 decembrie 2017 19:56:05
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 1.12 kb
#include <iostream>
#include <fstream>

using namespace std;

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

int i,j,n,m,nr=0,v[50010],k,in1,in2,fin1,fin2;
long long sum=-25010,sp=0;
int main()
{
    f>>n>>k;
    for(i=1;i<=n;i++)
        f>>v[i];
    if(n==k)
    {
        for(i=1;i<=n;i++)
            sum+=v[i];
        g<<1<<' '<<n<<' '<<sum;
        return 0;
    }
    for(i=1;i<=n;i++)
    {
        if(in1==0)
        {
            in1=i;
            sp+=v[i];
            nr++;
        }
        else
        {
            sp+=v[i];
            nr++;
            if(nr>=k)
            {
                if(sp>sum)
                {
                    sum=sp;
                    in2=in1;
                    fin2=i;
                }
                if(sp<0)
                {
                    in1++;
                    nr--;
                    sp-=v[in1-1];
                }
            }
            if(sp<v[i])
            {
                in1=i;
                nr=1;
                sp=v[i];
            }
        }
    }
    g<<in2<<' '<<fin2<<' '<<sum;
}