Cod sursa(job #3252308)

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

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

#define ADD 1000001

#define NIL 0

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


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