Pagini recente » Cod sursa (job #540031) | Cod sursa (job #2133469) | Cod sursa (job #1146874) | Cod sursa (job #2487612) | Cod sursa (job #2110995)
#include <fstream>
using namespace std;
ifstream cin("secv2.in");
ofstream cout("secv2.out");
const int nmax=50000,inf=1000000000;
int n,k;
int best[nmax+5],sum[nmax+5],poz[nmax+5];
int st_ans,dr_ans,ans=-inf;
int main()
{
cin>>n>>k;
for(int i=1;i<=n;i++)
{
cin>>sum[i];
sum[i]+=sum[i-1];
}
if(n==k)
{
cout<<"1 "<<n<<" "<<sum[n];
return 0;
}
for(int i=1;i<=n;i++)
{
if(sum[i]<best[i-1])
{
best[i]=sum[i];
poz[i]=i;
continue;
}
best[i]=best[i-1];
poz[i]=poz[i-1];
}
for(int dr=k-1;dr<=n;dr++)
{
if(sum[dr]-best[dr-k+1]>ans)
{
ans=sum[dr]-best[dr-k+1];
st_ans=poz[dr]+1;
dr_ans=dr;
}
}
cout<<st_ans<<" "<<dr_ans<<" "<<ans;
return 0;
}
/**
**/