Cod sursa(job #3252314)

Utilizator paull122Paul Ion paull122 Data 29 octombrie 2024 10:25:00
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.9 kb
#include <bits/stdc++.h>

#define VMAX 100000
#define NMAX 100000
#define LOG 20
#define INF (long long)(1e18)
#define BASE 10007
#define MOD 1000000007
#define ll  long long int

#define ADD 1000001

#define NIL 0

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


int n,k;
ll pf[NMAX+1];
int minpf[NMAX+1];
int main()
{
    fin >> n >> k;
    for(int i=1;i<=n;i++)
    {
        fin >> pf[i];
        pf[i] += pf[i-1];
        if(pf[i] < pf[minpf[i-1]])
        {
            minpf[i]=i;
        }
        else
        {
            minpf[i] = minpf[i-1];
        }
    }
    int st=0,dr=0;
    ll mx=-INF;
    for(int i=k;i<=n;i++)
    {
        if(pf[i]-pf[minpf[i-k]] > mx)
        {
            mx = pf[i]-pf[minpf[i-k]];
            st=minpf[i-k]+1;
            dr=i;
        }
    }
    fout << st << ' ' << dr << ' ' << mx << '\n';
}