Pagini recente » Cod sursa (job #3309530) | Cod sursa (job #2933606) | Cod sursa (job #2563527) | Cod sursa (job #3304484) | Cod sursa (job #3309993)
#include <iostream>
#include <fstream>
using namespace std;
ifstream fin("secv2.in");
ofstream fout("secv2.out");
int v[50001];
struct q
{
int sum, st;
};
q dp[50001];
int main()
{
int n, k, l=0, r=0, ma=-25005, cnt=0;
fin>>n>>k;
for(int i=1;i<=n;i++)
{
fin>>v[i];
}
for(int i=1;i<=n;i++)
{
if(dp[i].sum<0)
{
dp[i]={v[i], i};
cnt=1;
}
else
{
dp[i]={dp[i-1].sum+v[i], dp[i-1].st};
cnt++;
}
if(cnt>=k && dp[i].sum>ma)
{
ma=dp[i].sum;
l=dp[i].st;
r=dp[i].st+cnt;
}
}
fout<<l<<" "<<r<<" "<<ma;
return 0;
}