Cod sursa(job #2738436)

Utilizator Alexandru_GaloiuAlexandru Galoiu Alexandru_Galoiu Data 5 aprilie 2021 20:42:09
Problema Secventa 2 Scor 100
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.65 kb
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
int v[50001],sp[50001],p[50001],sm[50001];
int main()
{
    int n,k;
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>v[i];
        sp[i]=sp[i-1]+v[i];
        sm[i]=max(sm[i-1]+v[i],v[i]);
        if(sm[i]==v[i])
            p[i]=i;
        else p[i]=p[i-1];
    }
    int smax=sp[k],p1=1,p2=k;
    for(int i=k+1;i<=n;i++)
    {
        int s=sp[i]-sp[i-k+1]+sm[i-k+1];
        if(s>smax)
        {
            smax=s;
            p1=p[i-k+1];
            p2=i;
        }
    }
    cout<<p1<<" "<<p2<<" "<<smax;
    return 0;
}