Pagini recente » Monitorul de evaluare | Cod sursa (job #2026129) | Cod sursa (job #1961479) | Cod sursa (job #1769849) | Cod sursa (job #2014935)
#include <bits/stdc++.h>
#define INF -2000000000
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int s=-1,sum=INF,poz,poz2,n,j,a[50001];
int x,k;
int main()
{
f>>n>>k;
j=1;
for(int i=1;i<=n;++i)
f>>a[i];
for(int i=1;i<=n;++i)
{
if(s<0)
{
s=a[i];
j=i;
}
else
s+=a[i];
if(s>sum && i-j+1>=k)
{
sum=s;
poz=j;
poz2=i;
}
}
if(sum!=INF)
g<<poz<<" "<<poz2<<" "<<sum;
else
{
j=1;
s=0;
poz=poz2=0;
for(int i=1;i<=n;++i)
{
if(s<0 && i-j+1>k)
{
s=a[i];
j=i;
}
else
s+=a[i];
if(s>sum && i-j+1>=k)
{
sum=s;
poz=j;
poz2=i;
}
}
g<<poz<<" "<<poz2<<" "<<sum;
}
return 0;
}