Pagini recente » Cod sursa (job #1559552) | Cod sursa (job #2870836) | Cod sursa (job #2829111) | Cod sursa (job #1642274) | Cod sursa (job #1436286)
using namespace std;
#include<fstream>
ifstream fin("secventa2.in");
ofstream fout("secventa2.out");
const int NMax = 50005;
int N,K,Sol,Start,Finish;
int X[NMax];
void Read()
{
fin>>N>>K;
for(int i=1;i<=N;i++)
{
fin>>X[i];
}
}
void Solve()
{
int Sum = 0, SK = 0, Begin;
for(int i=1; i<=K; i++)
Sum=Sum+X[i];
SK = Sum;
Sol = Sum; Begin = Start = 1; Finish = K;
for(int i = K + 1; i<=N; i++)
{
SK = SK + X[i] - X[i-K];
if (Sum + X[i] < SK)
{
Sum = SK;
Begin = i-K+1;
}
else
{
Sum += X[i];
}
if(Sum>Sol)
{
Sol = Sum;
Start = Begin;
Finish = i;
}
}
}
void Print()
{
fout<<Start<<" "<<Finish<<" "<<Sol<<"\n";
}
int main()
{
Read();
Solve();
Print();
return 0;
}