Pagini recente » Cod sursa (job #1772899) | Cod sursa (job #284454) | Cod sursa (job #2463068) | Cod sursa (job #2224290) | Cod sursa (job #3003708)
#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)
{
dublcoada.push_back(nr);
pminim=i;
}
}
if(i>=k)
suma+=dublcoada.front();
if(pminim==i+1-k)
dublcoada.pop_front();
}
g<<suma;
return 0;
}