Cod sursa(job #2762242)

Utilizator hhhhhhhAndrei Boaca hhhhhhh Data 6 iulie 2021 09:45:38
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.77 kb
#include <bits/stdc++.h>

using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
typedef long long ll;
ll n,k,v[50005],s[50005],maxim[50005],poz,sol=-1e18;
int main()
{
    fin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        fin>>v[i];
        s[i]=s[i-1]+v[i];
    }
    maxim[n+1]=-1e18;
    for(int i=n;i>=1;i--)
        maxim[i]=max(maxim[i+1],s[i]);
    for(int i=1;i<=n;i++)
    {
        int j=i+k-1;
        if(j>n)
            break;
        ll valmax=maxim[j]-s[i-1];
        if(valmax>sol)
        {
            sol=valmax;
            poz=i;
        }
    }
    fout<<poz<<" ";
    for(int i=poz;i<=n;i++)
        if(i-poz+1>=k&&s[i]-s[poz-1]==sol)
    {
        fout<<i<<" "<<sol;
        return 0;
    }
    return 0;
}