Pagini recente » Cod sursa (job #530549) | Cod sursa (job #61256) | Cod sursa (job #532950) | Cod sursa (job #186871) | Cod sursa (job #1389989)
#include<fstream>
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
int d[5000001], v[5000001];
int st, dr, n, k;
void stanga(int i)
{
if (i - d[st] == k)
st++;
}
void dreapta(int i)
{
while (st <= dr && v[i] <= v[d[dr]])
dr--;
d[++dr] = i;
}
int main()
{
long long i,s = 0;
f >> n >> k;
for(i = 1; i<=n; i++)
{
f >> v[i];
stanga(i);
dreapta(i);
if(i >= k)
s += v[d[st]];
}
g << s <<'\n';
return 0;
}