Pagini recente » Cod sursa (job #1263207) | Cod sursa (job #2277310) | Cod sursa (job #2986983) | Cod sursa (job #427372) | Cod sursa (job #1602083)
#include <fstream>
#include <deque>
using namespace std;
ifstream in("deque.in");
ofstream out("deque.out");
int main() {
int n,k,a;
long long int suma=0;
deque < pair<int,int> > d;
in>>n>>k;
for(int i=1;i<=k;i++)
{
in>>a;
while(!d.empty() && a<=d.back().first)
d.pop_back();
d.push_back(make_pair(a,i));
}
suma=suma+d.front().first;
for(int i=k+1;i<=n;i++)
{
in>>a;
while(!d.empty() && a<=d.back().first)
d.pop_back();
d.push_back(make_pair(a,i));
if(d.front().second<=i-k)
d.pop_front();
suma=suma+d.front().first;
}
out<<suma;
return 0;
}