Pagini recente » Cod sursa (job #3131292) | Cod sursa (job #2765706) | Cod sursa (job #51544) | Cod sursa (job #2840429) | Cod sursa (job #2228223)
#include <fstream>
#include <climits>
#define NMAX 50001
using namespace std;
ifstream in("secv2.in");
ofstream out("secv2.out");
long long int sumaMax = LONG_MIN;
long long int rez;
int n,k,i,st,dr;
int v[NMAX];
void Citire()
{
in>>n>>k;
for(i=1; i<=n; i++)
in>>v[i];
}
void Determinare()
{
if(n==k)
{
for(i=1; i<=n; i++)
rez+=v[i];
st=1;
dr=n;
}
else
{
for(i=1; i<=n; i++)
{
if(sumaMax<0)
{
sumaMax=v[i];
st=i;
}
else
sumaMax+=v[i];
if(sumaMax>rez && i-st+1>=k)
{
rez=sumaMax;
dr=i;
}
}
}
}
void Afisare()
{
out<<st<<" "<<dr<<" "<<rez;
}
int main()
{
Citire();
Determinare();
Afisare();
return 0;
}