Pagini recente » Cod sursa (job #2954500) | Cod sursa (job #2798215) | Cod sursa (job #1091754) | Cod sursa (job #1447616) | Cod sursa (job #1915466)
#include <bits/stdc++.h>
#define nmax 5000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int a[nmax],n,k;
deque<int>q;
void Citire()
{
int i;
fin>>n>>k;
for(i=1;i<=n;i++)
fin>>a[i];
}
void Rezolvare()
{
int i,x;
long long sol=0;
for(i=1;i<=k;i++)
{
x=a[i];
while(!q.empty() && a[q.back()]>x)
q.pop_back();
q.push_back(i);
}
sol+=a[q.front()];
for(i=k+1;i<=n;i++)
{
x=a[i];
while(!q.empty() && a[q.back()]>x)
q.pop_back();
q.push_back(i);
if(i-q.front()>=k)
q.pop_front();
sol+=a[q.front()];
}
fout<<sol<<"\n";
}
int main()
{
Citire();
Rezolvare();
fin.close();
fout.close();
return 0;
}