Cod sursa(job #3314780)

Utilizator AndreiEsteNebunAndrei Mateescu AndreiEsteNebun Data 11 octombrie 2025 09:31:52
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <iostream>
#include <fstream>
#include <cstring>
#define int long long

using namespace std;

string filename = "secv2";

ifstream fin(filename + ".in");
ofstream fout(filename + ".out");

const int NMAX = 50000;
int v[NMAX + 5];
int sp[NMAX + 5];
pair<int,int> minn[NMAX + 5];

pair<int,int> minim(pair<int,int> a,pair<int,int> b)
{
    if(a.first < b.first)
        return a;
    return b;
}

signed main()
{
    int n,k;
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        sp[i] = sp[i-1] + v[i];
        minn[i]=minim(minn[i-1], make_pair(sp[i],i));
    }
    int rez=-2e18;
    int st,dr;
    for(int i=k;i<=n;i++)
    {
        if(rez < sp[i]-minn[i-k].first)
        {
            rez = sp[i]-minn[i-k].first;
            st = minn[i-k].second + 1;
            dr = i;
        }
    }
    fout<<st<<' '<<dr<<' '<<rez;
    return 0;
}