Pagini recente » Borderou de evaluare (job #2802291) | Borderou de evaluare (job #3265665) | Borderou de evaluare (job #395429) | Cod sursa (job #2019031) | Cod sursa (job #1723960)
#include <iostream>
#include <fstream>
#include <algorithm>
#include <string.h>
#include <iterator>
#include <deque>
#include <cmath>
using namespace std;
int main () {
int N, K, x;
ifstream in("deque.in");
ofstream out("deque.out");
in >> N >> K;
deque<int> subsir(K);
for(auto &x : subsir)
in >> x;
int minim = *min_element(subsir.begin(), subsir.end());
int suma = minim;
for(int i = 1; i <= N - K; i++){
in >> x;
subsir.push_back(x);
if(subsir[0] == minim){
subsir.pop_front();
minim = *min_element(subsir.begin(), subsir.end());
}
else{
subsir.pop_front();
if(minim > subsir[subsir.size() - 1])
minim = subsir[subsir.size() - 1];
}
suma += minim;
}
out << suma;
return 0;
}