Pagini recente » Cod sursa (job #1268861) | Cod sursa (job #452398) | Cod sursa (job #2155694) | Cod sursa (job #2829963) | Cod sursa (job #1656174)
#include <fstream>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
struct qq{long long val, id;};
qq deq[2500010];
long long n, k, i, bk, fr, x, sum;
int main()
{
fin>>n>>k;
fr=1; bk=0;
deq[0].val=(-1)*1000000000000000;
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;
}