Cod sursa(job #2110990)

Utilizator FunnyStockyMihnea Andreescu FunnyStocky Data 21 ianuarie 2018 16:04:41
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.81 kb
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
const int nmax=50000,inf=1000000000;
int n,k;
int best[nmax+5],sum[nmax+5],poz[nmax+5];
int st_ans,dr_ans,ans=-inf;
int main()
{
    cin>>n>>k;
    for(int i=1;i<=n;i++)
    {
        cin>>sum[i];
        sum[i]+=sum[i-1];
    }
    for(int i=1;i<=n;i++)
    {
        if(sum[i]<best[i-1])
        {
            best[i]=sum[i];
            poz[i]=i;
            continue;
        }
        best[i]=best[i-1];
        poz[i]=poz[i-1];
    }
    for(int dr=k-1;dr<=n;dr++)
    {
        if(sum[dr]-best[dr-k+1]>ans)
        {
            ans=sum[dr]-best[dr-k+1];
            st_ans=poz[dr]+1;
            dr_ans=dr;
        }
    }
    cout<<st_ans<<" "<<dr_ans<<" "<<ans;
    return 0;
}
/**
**/