Pagini recente » Cod sursa (job #2517533) | Cod sursa (job #2433924) | Cod sursa (job #1852494) | Cod sursa (job #583538) | Cod sursa (job #1677002)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n,k;
long long v[5000005];
deque<int>q;
long long suma;
void citire()
{
int i;
long long x;
fin>>n>>k;
for(i=1;i<=n;i++)
{
fin>>v[i];
}
}
void rezolvare()
{
int i;
deque<int>::iterator it;
for(i=1;i<=n;i++)
{
while(q.size() && v[i]<=v[q.back()])
{
q.pop_back();
}
q.push_back(i);
if(i-k==q.front())
q.pop_front();
if(i>=k)
suma+=v[q.front()];
}
fout<<suma;
}
int main()
{
citire();
rezolvare();
return 0;
}