Pagini recente » Cod sursa (job #2190179) | Cod sursa (job #2215262) | Cod sursa (job #1551825) | Statistici Vancea Vladut (vanceavlad) | Cod sursa (job #704013)
Cod sursa(job #704013)
#include <fstream>
#include <deque>
#define N 50010
using namespace std;
ifstream f("secv2.in");
ofstream g("secv2.out");
deque<int> D;
int n,s[N],i,k,x,st,fn,maxi=-999999999;
void push(int i) {
while (!D.empty() && s[i]<=s[D.back()]) D.pop_back();
D.push_back(i);
}
int top() {
if (!D.empty()) return D.front();
return 0;
}
int main() {
f >> n >> k;
for (i=1;i<=n;i++) {
f >> s[i];
s[i]+=s[i-1];
}
for (i=k;i<=n;i++) {
push(i-k);
if (s[i]-s[top()]>maxi) {
maxi=s[i]-s[top()];
st=top()+1;fn=i;
}
}
g << st << ' ' << fn << ' ' << maxi << '\n';
f.close();g.close();
return 0;
}