Pagini recente » Cod sursa (job #935217) | Cod sursa (job #2587854) | Cod sursa (job #1723047) | Cod sursa (job #2338993) | Cod sursa (job #673068)
Cod sursa(job #673068)
#include<iostream>
#include<fstream>
using namespace std;
int s[50001],deque[50001];
int main ()
{
int n,i,k,start,sfarsit,max,x,st,dr;
ifstream f("secv2.in");
ofstream g("secv2.out");
f>>n>>k;
for(i=1;i<=n;i++) {
f>>x;
s[i]=s[i-1]+x;
}
f.close();
st=1;
dr=0;
max=-2000000000;
for(i=k;i<=n;i++) {
while((st<=dr)&&(s[deque[st]]>s[i-k+1]))
dr--;
deque[++dr]=i-k+1;
if((s[i]-s[deque[st]])>max) {
max=s[i]-s[deque[st]];
start=deque[st]+1;
sfarsit=i;
}
}
g<<start<<" "<<sfarsit<<" "<<max;
g.close();
return 0;
}