Pagini recente » Cod sursa (job #1914201) | Cod sursa (job #2468565) | Cod sursa (job #1268697) | Cod sursa (job #1388433) | Cod sursa (job #1416079)
#include <fstream>
#define NM 50005
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int n, k, i, v[NM], dp[NM];
int sum, maxsum, be, en, poz;
void read()
{
fin >> n >> k;
for (i=1; i<=n; i++)
{
fin >> v[i];
if (i<=k)
sum+=v[i];
}
}
void subsecvmax()
{
dp[k]=sum;
maxsum=sum;
be=1;
en=k;
for (i=k+1; i<=n; i++)
{
if (dp[i-1]>sum)
dp[i]=dp[i-1]+v[i];
else
{
dp[i]=sum+v[i];
poz=i-k;
}
if (dp[i]>maxsum)
{
be=poz;
en=i;
maxsum=dp[i];
}
sum-=v[i-k];
sum+=v[i];
}
fout << be << " " << en << " " << maxsum << '\n';
}
int main()
{
read();
subsecvmax();
fin.close();
fout.close();
return 0;
}