Pagini recente » Cod sursa (job #1295777) | Cod sursa (job #1331401) | Cod sursa (job #253917) | Cod sursa (job #2919067) | Cod sursa (job #1389978)
#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()
{
int 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;
}