Pagini recente » Cod sursa (job #697929) | Cod sursa (job #2361184) | Cod sursa (job #2351880) | Cod sursa (job #2315979) | Cod sursa (job #1306072)
#include<stdio.h>
#include<iostream>
#include<fstream>
#include<deque>
#include<algorithm>
#include<limits.h>
using namespace std;
deque<int> v;
deque<int> p;
int main()
{
ifstream si;
si.open("deque.in");
ofstream so;
so.open("deque.out");
int n,k;
si>>n>>k;
int a,i;
for(i=0;i<k;++i)
{
si>>a;
while(!v.empty()&&v.back()>a)
{
v.pop_back();
p.pop_back();
}
v.push_back(a);
p.push_back(i);
}
long long s;
s=1LL*v.front();
for(;i<n;++i)
{
si>>a;
while(!v.empty()&&v.back()>a)
{
v.pop_back();
p.pop_back();
}
if(!p.empty()&&p.front()==i-k)
{
p.pop_front();
v.pop_front();
}
v.push_back(a);
p.push_back(i);
s=s+1LL*v.front();
}
so<<s<<'\n';
}