Pagini recente » Cod sursa (job #412696) | Cod sursa (job #1201998) | Cod sursa (job #2541261) | Cod sursa (job #3192827) | Cod sursa (job #963861)
Cod sursa(job #963861)
#include <fstream>
#include <functional>
#include <numeric>
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
int N,K,Partial[50002],Arr[50002];
void Read()
{
f>>N>>K;
int i;
for(i=0;i<N;i++)
f>>Arr[i];
partial_sum(Arr,Arr+N,Partial);
}
void Solve()
{
int i,start=0,fin=K-1,max_sum=Partial[K-1],current_sum=Partial[K-1],current_start=0,current_fin=K-1;
for(i=K;i<N;i++)
{
if(current_sum+Arr[i]<Partial[i]-Partial[i-K])
{
current_sum=Partial[i]-Partial[i-K];
current_start=i-K+1;
current_fin=i;
}
else
{
current_sum+=Arr[i];
current_fin=i;
}
if(current_sum>max_sum)
{
max_sum=current_sum;
start=current_start;
fin=current_fin;
}
}
g<<start+1<<" "<<fin+1<<" "<<max_sum<<"\n";
}
int main()
{
Read();
Solve();
return 0;
}