Pagini recente » Borderou de evaluare (job #3162723) | Diferente pentru utilizator/enough intre reviziile 5 si 4 | Cod sursa (job #2876390) | Cod sursa (job #3302195) | Cod sursa (job #2164924)
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,inceput,sfarsit,q[5000001],mi,i,x,j,a[5000001];
long long s;
int main()
{
f>>n>>k;
inceput=1;
for(i=1;i<=n;i++)
f>>a[i];
for(i=1;i<=n;i++)
{
while(inceput<=sfarsit&&a[i]<=a[q[sfarsit]])
sfarsit--;
q[++sfarsit]=i;
if(q[inceput]==i-k)
inceput++;
if (i>=k)
s+=a[q[inceput]];
}
g<<s;
return 0;
}