Pagini recente » Cod sursa (job #177847) | Cod sursa (job #1519497) | Cod sursa (job #864073) | Cod sursa (job #2331465) | Cod sursa (job #2433419)
#include <bits/stdc++.h>
#define inf 1<<30
using namespace std;
/*
ifstream f("../dt.in");
ofstream g("../dt.out");
*/
ifstream f("secv2.in");
ofstream g("secv2.out");
int sum[50009];
int v[50009];
int n,k;
struct
{
int sum,f,u;
}ans;
int main()
{
f>>n>>k;
ans.f=1;
ans.u=k;
for (int i=1;i<=n;i++)
{
int x;
f>>x;
v[i]=x;
sum[i]=x+sum[i-1];
}
int cursum=ans.sum=sum[k];
for (int i=k+1 ;i<=n ;i++)
{
if (cursum+v[i] > sum[i]-sum[i-k])
{
cursum+=v[i];
if (cursum>=ans.sum)
{
ans.u=i;
ans.sum=cursum;
}
}
else
{
cursum = sum[i]-sum[i - k];
if (cursum >= ans.sum)
{
ans.u = i;
ans.f = i-k+1;
ans.sum=cursum;
}
}
}
g<<ans.f<<" "<<ans.u<<" "<<ans.sum;
}