Pagini recente » Profil costin22 | Cod sursa (job #509564) | Statistici Radu Amaistroaie (raduamaistroaie) | Profil DraStiK | Cod sursa (job #1554846)
#include <fstream>
#include <deque>
using namespace std;
struct element
{ int x, poz; };
int main()
{
ifstream ii("deque.in");
ofstream oo("deque.out");
deque<element> coada; int n, k, i; element el;
long long suma = 0; ii >> n >> k;
for (i = 0; i < k; i++)
{
ii >> el.x; el.poz = i;
while (coada.size() && coada.front().x >= el.x)
coada.pop_front();
coada.push_front(el);
}
for (suma += coada.back().x; i < n; i++)
{
ii >> el.x; el.poz = i;
if (coada.size() && i - coada.back().poz > k-1)
coada.pop_back();
while (coada.size() && coada.front().x >= el.x)
coada.pop_front();
coada.push_front(el);
suma += coada.back().x;
}
oo << suma;
}