Pagini recente » Cod sursa (job #2951811) | Cod sursa (job #2663134) | Cod sursa (job #1854038) | Cod sursa (job #1202935) | Cod sursa (job #2728297)
#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
int findMin(deque<int> &a){
int re=a.front();
for(auto x:a){
if(x<re)re=x;
}
return re;
}
int main()
{
ifstream in("deque.in");
ofstream out("deque.out");
int n,k,x,rez=0,prev;
deque<int> d;
in >> n;
in >> k;
for(int i=1;i<=k;i++){
in >> x;
d.push_back(x);
}
rez+=findMin(d);
prev=rez;
for(int i=1;i<=n-k;i++){
in >> x;
d.push_back(x);
if(x<prev){
prev=x;
rez+=x;
}else{
if(d.front()==prev){
d.pop_front();
prev=findMin(d);
}
d.pop_front();
rez+=prev;
}
}
out << rez;
return 0; //// 1 2 3 4
}