Pagini recente » Cod sursa (job #871559) | Cod sursa (job #11011) | Cod sursa (job #2980760) | Cod sursa (job #1377615) | Cod sursa (job #1753699)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
long long a[50001],sum[50001];
int main()
{
long long n,i,t,s=0,k=0,maxx=-125000000000,first=1,last,firstmax,lastmax;
fin>>n>>t;
for(i=1;i<=n;i++)
fin>>a[i];
for(i=1;i<=n;i++)
{
if(s+a[i]<a[i])
{
s=a[i];
first=i;
last=i;
k=1;
}
else
{
s+=a[i];
last=i;
k++;
}
if(s>maxx && k>=t)
{
maxx=s;
firstmax=first;
lastmax=last;
}
}
if(maxx==-125000000000)
for(i=1;i<=n;i++)
sum[i]=sum[i-1]+a[i];
for(i=t;i<=n;i++)
if(sum[i]-sum[i-t]>maxx)
{
maxx=sum[i]-sum[i-t];
firstmax=i-t+1;
lastmax=i;
}
fout<<firstmax<<" "<<lastmax<<" "<<maxx;
return 0;
}