Cod sursa(job #3310397)

Utilizator EddyGGRIGORAS EDUARD NICOLAS EddyG Data 13 septembrie 2025 16:20:08
Problema Secventa 2 Scor 60
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.87 kb
#include <iostream>
#include <fstream>

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

const int nmax=500000;
int v[nmax+3];
long long sp[nmax+3],minsum[nmax+3];
const int INF=1e9;
int main()
{
    int n,k;
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        sp[i]=sp[i-1]+v[i];
        minsum[i]=min(minsum[i-1],sp[i]);
    }

    long long  ansewer=-INF;
    int st,dr;
    int j=1;
    for(int i=k;i<=n;i++)
    {
        long long candidat=sp[i]-minsum[i-k];
        if(candidat>ansewer)
        {
            ansewer=candidat;
            st=j;
            dr=i;
        }
        else if(candidat==ansewer && j<st)
        {
            st=j;
            dr=i;
        }
        if(sp[i]<minsum[i-k])
            j=i-1;
    }
    fout<<" "<<st<<" "<<dr<<" "<<ansewer;
    return 0;
}