Cod sursa(job #2627648)

Utilizator mihneazzzMacovei Daniel mihneazzz Data 11 iunie 2020 16:13:50
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.67 kb
#include <bits/stdc++.h>
#define N 50000
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int main()
{
    int i,n,k,a[N+5],ct=0,p,u;long long S=0,smax=-2e12;
    fin>>n>>k;
    for(i=1;i<=n;i++) fin>>a[i];
    for(i=1;i<=n;i++)
    {
        if(S<0) S=a[i],ct=1;
        else S+=a[i],ct++;
        if(ct>=k && S>smax) smax=S,u=i,p=i-ct+1;
    }
    if(smax==-2e12)
    {   smax=0;
        for(i=1;i<=k;i++) smax+=a[i];S=smax;u=k,p=1;ct=k;
        for(i=k+1;i<=n;i++)
        {
            if(a[i]>a[i-ct]) S-=a[i-ct],S+=a[i];
            if(S>smax) smax=S,u=i,p=i-ct+1;
        }
    }
    fout<<p<<" "<<u<<" "<<smax;
    return 0;
}