Pagini recente » Cod sursa (job #391880) | Cod sursa (job #470263) | Cod sursa (job #2360991) | Cod sursa (job #3252932) | Cod sursa (job #1830884)
#include <iostream>
#include<fstream>
#include<deque>
using namespace std;
int v[50101],i,k,x,n,s,ls,ld,mx=-1300000000,s1;
deque<int>d;
int main()
{
/*ofstream h("secv2.in");
h<<50000<<" "<<50000<<'\n';
for(i=0;i<50000;++i)h<<-25000<<" ";*/
ifstream f("secv2.in");
f>>n>>k>>v[1];++n;
s=v[1];s1=v[1];
if(k==1)
{
ls=1;ld=1;mx=v[1];
}
d.push_front(1);
for(i=2;i<n;++i)
{
f>>v[i];s+=v[i];s1+=v[i];
d.push_front(i);
while(!d.empty() && (d.back() < i-k+1) && (v[ d.back() ] < 0 || s<=0) )
{
s -=v[ d.back() ];
d.pop_back();
}
if( s>mx && (d.front() > k-1) )
{
mx=s;
ls=d.back();
ld=d.front();
}
}
ofstream g("secv2.out");
g<<ls<<" "<<ld<<" "<<mx;
return 0;
}