Pagini recente » Cod sursa (job #1995080) | Cod sursa (job #1229691) | Cod sursa (job #2445451) | Cod sursa (job #1886366) | Cod sursa (job #1656171)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct qq{int val, id;};
qq deq[5000010];
int n, k, i, bk, fr, x, sum;
int main()
{
fin>>n>>k;
fr=1; bk=0;
deq[0].val=(-1)*1000000000;
for (i=1; i<=n; i++)
{
fin>>x;
while (bk>=fr && deq[bk].val>=x)
bk--;
deq[++bk].val=x;
deq[bk].id=i;
if (deq[fr].id==i-k)
fr++;
if (k<=i)
{
sum+=deq[fr].val;
}
}
fout<<sum;
return 0;
}