Pagini recente » Cod sursa (job #2887148) | Cod sursa (job #1176663) | Cod sursa (job #580906) | Cod sursa (job #552275) | Cod sursa (job #2489826)
#include <deque>
#include <vector>
#include <fstream>
#define N 10000001
using namespace std;
ifstream fin("deque.in");
ofstream fout("deque.out");
deque < long long > q;
long long n, k, ans;
vector < long long > v;
int main(){
fin>>n>>k;
for(long long i = 1; i <= n; ++i){
long long x;
fin>>x;
v.push_back(x);
}
for(long long i = 0; i <= k-1; ++i){
while(!q.empty() && v[q.back()] > v[i])
q.pop_back();
q.push_back(i);
}
///indexam de la 0
for(long long i = k - 1; i < v.size(); ++i){
if(i - q.front() == k)
q.pop_front();
while(!q.empty() && v[q.back()] > v[i])
q.pop_back();
q.push_back(i);
ans += v[ q.front() ];
}
fout<<ans;
}