Pagini recente » Cod sursa (job #962147) | Cod sursa (job #932059) | Cod sursa (job #1847032) | Borderou de evaluare (job #358045) | Cod sursa (job #2347927)
#include <bits/stdc++.h>
#define D 5000005
using namespace std;
ifstream f("deque.in");
ofstream g("deque.out");
struct con
{
int val,poz;
}nr;
int n,k,i;
long long sum;
deque <con> a;
int main()
{
f>>n>>k;
for(i=1;i<k;i++)
{
f>>nr.val;nr.poz=i;
while(!a.empty() && nr.val<=a.back().val)
a.pop_back();
a.push_back(nr);
}
for(i=k;i<=n;i++)
{
f>>nr.val;nr.poz=i;
while(!a.empty() && nr.val<=a.back().val)
a.pop_back();
a.push_back(nr);
sum+=a.front().val;
if(a.front().poz<=i-k+1)
a.pop_front();
}
g<<sum<<"\n";
}