Pagini recente » Cod sursa (job #706161) | Cod sursa (job #1650622) | Cod sursa (job #324001) | Cod sursa (job #3145988) | Cod sursa (job #3003717)
#include <fstream>
#include <deque>
using namespace std;
deque <int> dublcoada;
ifstream f("deque.in");
ofstream g("deque.out");
int n,k,pminim,pdeadunat,nr,i;
long long suma;
int main()
{
f>>n>>k;
pdeadunat=k;
for(i=1;i<=n;i++)
{
f>>nr;
if(dublcoada.empty()!=0)
{
dublcoada.push_back(nr);
pminim=i;
}
else
{
while(nr<=dublcoada.back())
{
dublcoada.pop_back();
if(dublcoada.empty()!=0)
break;
}
if(dublcoada.empty()!=0)
pminim=i;
dublcoada.push_back(nr);
}
if(i>=k)
suma+=dublcoada.front();
if(pminim==i+1-k)
dublcoada.pop_front();
}
g<<suma;
return 0;
}