Pagini recente » Cod sursa (job #1534048) | Cod sursa (job #568593) | Cod sursa (job #521852) | Cod sursa (job #2010316) | Cod sursa (job #3333939)
#include <fstream>
#include <deque>
using namespace std;
ifstream cin ("deque.in");
ofstream cout ("deque.out");
struct numar{
int val;
int poz;
};
long long int s,n,x,k;
numar nr;
deque<numar>mydeq;
int main()
{
cin>>n>>k;
for (int i=1;i<=n;i++)
{
cin>>x;
while (!mydeq.empty() && mydeq.front().poz<i-k+1)
mydeq.pop_front();
while (!mydeq.empty() && x<mydeq.back().val)
mydeq.pop_back();
nr.poz=i;
nr.val=x;
mydeq.push_back(nr);
if (i>=k)
s+=mydeq.front().val;
}
cout<<s;
return 0;
}