Pagini recente » Cod sursa (job #2960851) | Cod sursa (job #1401500) | Cod sursa (job #545437) | Cod sursa (job #841751) | Cod sursa (job #770122)
Cod sursa(job #770122)
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,i;
int deque[5000010],a[5000010];
int front, back;
long long sum;
int main()
{f>>n>>k;
for(i=1; i<=n; i++)
f>>a[i];
front=1; back=0; //deque vid
for(i=1; i<=n; i++)
{while(front<=back && a[i]<=a[deque[back]]) back--;
back++;
deque[back]=i;
if(deque[front]==i-k) front++;
if(i>=k) sum+=a[deque[front]];
}
g<<sum;
f.close();
g.close();
return 0;}