Pagini recente » Cod sursa (job #1036931) | Cod sursa (job #253952) | Cod sursa (job #2469019) | Cod sursa (job #1844477) | Cod sursa (job #2889192)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int valori[5000001], deque[5000001];
int main()
{
int nrValori, lungimeK;
fin >> nrValori >> lungimeK;
for (int i = 1; i <= nrValori; i++)
fin >> valori[i];
int suma = 0, inc = 1, sf = 0;
for (int i = 1; i <= nrValori; i++)
{
while (inc <= sf && valori[i] <= valori[deque[sf]])
sf--;
sf++; deque[sf] = i;
if (i >= lungimeK)
{
if (inc <= sf && deque[inc] == i - lungimeK)
inc++;
suma += valori[deque[inc]];
}
}
fout << suma;
}