Pagini recente » Cod sursa (job #2861370) | Cod sursa (job #2606032) | Cod sursa (job #273722) | Cod sursa (job #1918958) | Cod sursa (job #2885851)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int n, k, v[5000000], x, minim, nr=0;
long long suma;
deque <int> d;
int main()
{
f>>n>>k;
for(int i=0; i<n; i++)
f>>v[i];
for(int i=0; i<n; i++)
{
if(i!=0 && nr==0) i--;
while(!d.empty() && v[i]<=d.front())
d.pop_front();
if(d.empty() || v[i]<d.front())
d.push_back(v[i]);
nr++;
if(nr==k)
{
nr=0;
suma=suma+d.front();
i=i-k+2;
d.pop_front();
}
}
g<<suma;
f.close();
g.close();
return 0;
}