Pagini recente » Cod sursa (job #250974) | Cod sursa (job #3143744) | Cod sursa (job #1821049) | Cod sursa (job #2586703) | Cod sursa (job #2119866)
#include <bits/stdc++.h>
std::ifstream in("secv2.in");
std::ofstream out("secv2.out");
using namespace std;
int n , k;
deque<int>d;
int main()
{ int a=1,b=k,x,sum=INT_MIN,actual=0;
int incp=1,sfp;
in >> n>>k;
for(int i =1 ; i<=n ;++i)
{
in >> x ;
if(d.size()<k)
{d.push_back(x);
actual+=x;
}
else{
if( (actual>0 and actual+x<0) )
{d.clear();
incp=i;
d.push_back(x);
actual=x;
//daca e cazul sa il scot tot
}
else
{
d.push_back(x);
actual+=x;
if(d.size()>k&&actual-d.front()>=actual) {actual-=d.front();
d.pop_front();
++incp;
}
}
}if(actual>=sum&&d.size()>=k)sum=actual,b=i,a=incp;
//cout << actual << endl;
}
out << a<<" "<<b<<" "<<sum ;
return 0;
}