Pagini recente » Cod sursa (job #1850706) | Cod sursa (job #2725710) | Cod sursa (job #2958317) | Cod sursa (job #3185706) | Cod sursa (job #2730304)
#include <iostream>
#include <fstream>
std::ifstream f("deque.in");
std::ofstream g("deque.out");
#define cout_std std::cout
#define cin_std std::cin
int v[5000000]; // <-- deque
int main()
{
int n, k;
f >> n >> k >> v[0];
int minim = v[0], poz = 0;
for (int dr = 1; dr < k; dr++)
{
f >> v[dr];
if (v[dr] <= minim)
{
minim = v[dr];
poz = dr;
}
}
int st = 0;
long long suma = minim;
for (int dr = k; dr < n; dr++)
{
f >> v[dr];
st++;
if (v[dr] <= minim)
{
minim = v[dr];
poz = dr;
}
else if (st > poz)
{
poz = st;
while (poz < dr and v[dr] <= v[poz])
poz++;
minim = v[poz];
}
suma += minim;
}
g << suma;
return 0;
}