Pagini recente » Cod sursa (job #2491066) | Cod sursa (job #2568269) | Cod sursa (job #477338) | Cod sursa (job #3223616) | Cod sursa (job #2965924)
#include <fstream>
#include <deque>
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
int n;
int k;
long long s;
deque <int> q;
int v[5000001];
int main()
{
fin>>n>>k;
for(int i=1;i<k;i++)
{
fin>>v[i];
while(q.empty()==false && v[i]<=v[q.back()])
{
q.pop_back();
}
q.push_back(i);
}
for(int i=k;i<=n;i++)
{
fin>>v[i];
while(q.empty()==false && v[i]<=v[q.back()])
{
q.pop_back();
}
while(q.empty()==false && i-q.front()+1>k){
q.pop_front();
}
q.push_back(i);
s+=v[q.front()];
}
fout<<s;
}