Cod sursa(job #1810220)

Utilizator sebi110Ciobanu Sebastian sebi110 Data 19 noiembrie 2016 19:15:58
Problema Secventa 2 Scor 90
Compilator cpp Status done
Runda Arhiva de probleme Marime 0.72 kb
#include <fstream>

using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int sum[50001],minim[50001],pozmin[50001];
int main()
{
    int n,i,x,k,smax=-26000,inds,indf;
    fin>>n>>k;
    for(i=1;i<=n;i++)
    {
        fin>>x;
        sum[i]=sum[i-1]+x;
        if(minim[i-1]>sum[i])
        {
            minim[i]=sum[i];
            pozmin[i]=i;
        }
        else
        {
            minim[i]=minim[i-1];
            pozmin[i]=pozmin[i-1];
        }
    }
    for(i=k;i<=n;i++)
        if(smax<sum[i]-minim[i-k])
        {
            smax=sum[i]-minim[i-k];
            inds=pozmin[i-k]+1;
            indf=i;
        }
    fout<<inds<<' '<<indf<<' '<<smax;
    return 0;
}