Pagini recente » Cod sursa (job #402227) | Cod sursa (job #1040503) | Infoarena Monthly 2014 - Clasament | Cod sursa (job #707985) | Cod sursa (job #2186589)
#include <fstream>
using namespace std;
long long int N,K,Sum[50005],i,Mini,Raspuns,Inceput,Sfarsit,X,Pozmin;
int main()
{
ifstream fin("secv2.in"); ofstream fout("secv2.out");
fin>>N>>K;
for(i=1;i<=N;++i) {fin>>X; Sum[i]=Sum[i-1]+X;}
for(i=1;i<=K-1;++i)
if(Sum[i]<Mini) {Mini=Sum[i]; Pozmin=i;}
if(Sum[K]>Raspuns) Raspuns=Sum[K];
i=Pozmin+K;
for(;i<=N;++i)
{
if(Sum[i]-Mini>Raspuns) {Raspuns=Sum[i]-Mini; Inceput=Pozmin+1; Sfarsit=i;}
if(Sum[i]<Mini) {Mini=Sum[i]; Pozmin=i; i=Pozmin+K;}
}
fout<<Inceput<<' '<<Sfarsit<<' '<<Raspuns;
fin.close (); fout.close();
return 0;
}