Pagini recente » Cod sursa (job #2158287) | Cod sursa (job #500117) | Cod sursa (job #500992) | Cod sursa (job #473975) | Cod sursa (job #3253826)
#include <iostream>
using namespace std;
//ifstream cin("secv2.in");
//ofstream cout("secv2.out");
int v[50005];
int main()
{
int n, k, i, maxi= -2000000000;
cin >> n>> k;
for(i= 1;i <= n;i++)
cin >> v[i];
int st, dr, sum= -1, start;
for(i= 1;i <= n;i++)
{
if(sum < 0)
start= i, sum= 0;
//cout << start<< endl;
sum+= v[i];
if(i- start+ 1 >= k)
{
if(maxi < sum)
maxi= sum, st= start, dr= i;
}
}
//cout << maxi<< endl;
if(maxi < 0)
{
sum= 0;
for(i= 1;i <= k;i++)
sum+= v[i];
if(maxi < sum)
maxi= sum, st= 1, dr= k;
for(i= 2;i <= n- k+ 1;i++)
{
//cout <<"maxi= "<< maxi<< endl;
sum= sum+ v[i+ k- 1]- v[i- 1];
if(maxi < sum)
maxi= sum, st= i, dr= i+ k- 1;
}
}
cout << st<<" "<< dr<< " "<< maxi;
/*
7 3
-3 -5 -6 2 3 -7 -8
*/
return 0;
}