Pagini recente » Cod sursa (job #1463217) | Cod sursa (job #593967) | Cod sursa (job #1606112) | Cod sursa (job #1881260) | Cod sursa (job #2186594)
#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;}
for(i=1;i<=Pozmin;++i)
if(i+K<=N and Sum[i+K]-Sum[i]>Raspuns) {Raspuns=Sum[i+K]-Sum[i]; Inceput=i+1; Sfarsit=i+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;}
}
fout<<Inceput<<' '<<Sfarsit<<' '<<Raspuns;
fin.close (); fout.close();
return 0;
}