Cod sursa(job #2323997)

Utilizator Codrin2004Codrin George Nichifor Codrin2004 Data 20 ianuarie 2019 10:03:33
Problema Secventa 2 Scor 90
Compilator cpp-64 Status done
Runda Arhiva de probleme Marime 0.97 kb
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n,x,dp[50001],st,k,stm,drm,i,maxi;
int main()
{
    fin>>n>>k;
    fin>>x;
    dp[1]=x;
    maxi=x;
    st=1;
    for(i=2;i<=n;i++)
    {
        fin>>x;
        if(x+dp[i-1]<x)
        {
            if(maxi<dp[i-1] && k<=(i-1-st))
            {
                stm=st;
                drm=i-1;
                maxi=dp[i-1];
            }
            dp[i]=x;
            st=i;
            if(n==i && dp[i]>maxi)
            {
                stm=i;
            }
        }
        else
        {
            dp[i]=dp[i-1]+x;
            if(maxi<dp[i] && k<=(i-1-st))
            {
                drm=i;
                stm=st;
                maxi=dp[i];
            }
        }

        if(i==n && dp[i]>maxi && k<=(n-st))
        {
            drm=n;
            maxi=dp[i];
        }
    }
    fout<<stm<<' '<<drm<<' '<<maxi;
    return 0;
}