Pagini recente » Cod sursa (job #397800) | Cod sursa (job #1499271) | Cod sursa (job #474221) | Cod sursa (job #1540770) | Cod sursa (job #579731)
Cod sursa(job #579731)
#include <fstream>
using namespace std;
int n, a[50010], sum[50010], best[50010], inc[50010], k;
int main ()
{
ifstream f("secv2.in");
f>>n>>k;
int i;
for (i=1; i<=n; i++)
{
f>>a[i];
sum[i]=sum[i-1]+a[i];
}
f.close();
best[1]=a[1];
inc[1]=1;
for (i=1; i<=n; i++)
{
if (a[i]>best[i-1]+a[i])
{
best[i]=a[i];
inc[i]=i;
}
else
{
best[i]=best[i-1]+a[i];
inc[i]=inc[i-1];
}
}
int s, maxim=-2000000000, x, y;
for (i=k; i<=n; i++)
{
s=sum[i]-sum[i-k+1]+best[i-k+1];
if (s>maxim)
{
maxim=s;
x=inc[i-k+1];
y=i;
}
}
ofstream g ("secv2.out");
g<<x<<" "<<y<<" "<<maxim<<"\n";
g.close();
return 0;
}