Pagini recente » Cod sursa (job #1993936) | Cod sursa (job #404370) | Cod sursa (job #2840932) | Cod sursa (job #2009460) | Cod sursa (job #139870)
Cod sursa(job #139870)
#include<fstream>
using namespacestd;
int main()
{
ifstream f("secv2.in");
ofstream g("secv2.out");
long k,n,v[50001],i,a,b,s,at,bt,st,j;
f>>n>>k;
f.close();
s=0;
for (i=1;i<=n;i++) f>>v[i];
for (i=1;i<=k;i++) s+=v[i];
a=1;
b=k;
while (v[i]>=0)
{
s+=v[i];
i++;
b++;
}
while (v[a]<=0&&b-a>k-1)
{
s-=v[a];
a++;
}
st=0;
while (i<=n)
{
st+=v[i];
if (st>=0)
{
s=s+st;
st=0;
b=i;
}
i++;
}
while (v[a]<=0&&b-a>k-1)
{
s-=v[a];
a++;
}
i=b+1;
int p=0;
while (i<=n)
{
p=0;
st=s;
for (j=0;st>=s&&i+j<=n;j++)
{
for (int k=0;k<=j;k++) {st+=v[i+k];st-=v[a+k];}
if (st>=s)
{
s=st;
a=a+j+1;
b=b+j+1;
i=b+1;
p=1;
break;
}
st=s;
}
if (!p) i++;
}
g<<a<<' '<<b<<' '<<s;
g.close();
return 0;
}