Cod sursa(job #2316743)

Utilizator filiptudose2007Tudose Filip filiptudose2007 Data 12 ianuarie 2019 12:45:11
Problema Secventa 2 Scor 0
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.71 kb
#include <bits/stdc++.h>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int n,k,length,ans,best,v[50005],i,l,R,L;
int main()
{
    f>>n>>k;
    for(i=1; i<=n; i++)f>>v[i];
    best=ans=v[1];
    l=1;
    for(i=2; i<=n; ++i)
    {
        if(best>=0)best+=v[i];
        else l=i, best=v[i];
        if(best>ans)
        {
            ans=best;
            L=l;
            R=i;
        }
    }
    length=R-L+1;
    if(length>=k)g<<length<<" "<<L<<" "<<R<<'\n';
    else if(length<k)
    {
        while(length<k)
        {
            if(v[R]>v[L])R++,length++;
            if(v[R]<v[L])L--,length++;
        }
        g<<length<<" "<<L<<" "<<R<<'\n';
    }
    return 0;
}