Pagini recente » Cod sursa (job #3160192) | Cod sursa (job #1848769) | Cod sursa (job #1055714) | Cod sursa (job #445854) | Cod sursa (job #597944)
Cod sursa(job #597944)
#include <fstream>
using namespace std;
int a[6000001];
int n,k;
int s=-2000000000,best;
int x=0,y=0,t=0;
int i;
bool b=0;
int main()
{
ifstream f("secv2.in");
ofstream g("secv2.out");
f >> n >> k;
for (i=1; i<=n; i++)
{
f >> a[i];
if (a[i]>0) b=1;
}
for (i=2; i<=n; i++)
a[i]+=a[i-1];
if (b) {
int min=0;
for (i=1; i<=n; i++)
{
best=a[i]-min;
if (min>a[i])
{
min=a[i];
t=i+1;
}
if (best>s && i-t+1>=k)
{
s=best;
x=t;
y=i;
}
}
if (x==0 || x>y) x=1;
if (s<0) x=y;
} else
{
s=-2000000000;
a[0]=0;
for (i=k; i<=n; i++)
if (s<a[i]-a[i-k])
{
s=a[i]-a[i-k];
y=i;
}
x=y-k+1;
}
g << x << ' ' << y << ' ' << s;
return 0;
}