Pagini recente » Cod sursa (job #2805215) | Cod sursa (job #3205329) | Cod sursa (job #244747) | Cod sursa (job #1233545) | Cod sursa (job #1876339)
#include <cstdio>
using namespace std;
int main()
{
freopen("secv2.in", "r", stdin);
freopen("secv2.out", "w", stdout);
int n, k;
scanf("%d%d", &n, &k);
long long sum = 0;
long long maxx = (-1) << 30;
int pozSt = 1;
int pozFs = 1;
int pozStMax = 1;
int pozFsMax = 1;
for(int i = 1; i <= n; ++i)
{
int a;
scanf("%d", &a);
if(k == n)
{
sum += a;
maxx = sum;
pozStMax = 1;
pozFsMax = n;
}
else
{
sum += a;
if(sum < 0)
{
if(sum > maxx && (i - pozSt) + 1 >= k)
{
maxx = sum;
pozStMax = pozSt;
pozFsMax = i;
}
sum = 0;
pozSt = i + 1;
}
else if(sum > maxx && (i - pozSt) + 1 >= k)
{
maxx = sum;
pozStMax = pozSt;
pozFsMax = i;
}
}
}
printf("%d %d %lld\n", pozStMax, pozFsMax, maxx);
return 0;
}