Pagini recente » Rating Sabou Cristian (pufupufi) | Cod sursa (job #3196490) | Cod sursa (job #1925628) | Cod sursa (job #2403398) | Cod sursa (job #2236248)
#include <iostream>
#include <fstream>
#include <queue>
#include <algorithm>
using namespace std;
ifstream f ("deque.in");
ofstream g ("deque.out");
deque <int> v;
deque <int> poz;
int n,k,sum,minn,c;
int main()
{
f>>n>>k;
for(int i=1;i<=k;i++)
{
f>>c;
while(v.empty()==0 && v.back()>c){v.pop_back();poz.pop_back();}
v.push_back(c);
poz.push_back(i);
}
minn=v.front();
sum+=minn;
for(int i=k+1;i<=n;i++)
{
f>>c;
while(v.empty()==0 && v.back()>c)
{
v.pop_back();
poz.pop_back();
}
v.push_back(c);
poz.push_back(i);
if(poz.front()<i-k+1)
{
v.pop_front();
poz.pop_front();
}
minn=v.front();
sum+=minn;
}
g<<sum;
return 0;
}