Cod sursa(job #3042188)

Utilizator francescaffeier francecsca francescaf Data 4 aprilie 2023 16:44:56
Problema Secventa 2 Scor 20
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <bits/stdc++.h>

using namespace std;

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

int n,v[6000001],c,k;

int main()
{
    fin >> n >> k;
    for (int i=1;i<=n;i++)
    {
        fin >> v[i];
        if (v[i]<0)
            c++;
    }
    if (c==n)
    {
        int pi,pf;
        long long max1=-100000000000;
        for (int i=1;i<n;i++)
        {
            if (v[i]>max1)
                max1=v[i],pi=i,pf=i;
        }
        fout << max1 << " " << pi << " " << pf;
        return 0;
    }
    int max1=-1,s=0,s2=0,pi=1,pf,rpi,l;
    for (int i=1;i<=n;i++)
    {
        s+=v[i];
        s2+=v[i]-v[i-k];
        if (s-s2<0)
            s=s2,pi=i-k+1;
        if (s>max1)
        {
            max1=s;
            pf=i;
            rpi=pi;
        }
    }
    fout << rpi << " " << pf << " " << max1;
    return 0;
}