Pagini recente » Cod sursa (job #480131) | Cod sursa (job #1156566) | Cod sursa (job #1066942) | Cod sursa (job #309436) | Cod sursa (job #2221289)
//#include <iostream>
#include <fstream>
#include <deque>
using namespace std;
deque <int> dq;
const int MAX=10000005;
int main()
{
ifstream cin("deque.in");
ofstream cout("deque.out");
int n,k,a,min1=MAX,min2=MAX,pos1,pos2,sum=0;
cin>>n>>k;
for(int i=1;i<=k;i++){
cin>>a;
dq.push_front(a);
if(min1>=a){
min1=a;
pos1=i;
min2=MAX;
}
else{
if(min1<a and min2>=a){
min2=a;
pos2=i;
}
}
}
sum+=min1;
for(int i=k+1;i<=n;i++){
cin>>a;
dq.pop_back();
dq.push_back(a);
if(min1>=a){
min1=a;
pos1=i;
min2=MAX;
}
else{
if(min1<a and min2>=a){
min2=a;
pos2=i;
}
}
if(i==pos1+k){
min1=min2;
pos1=pos2;
}
sum+=min1;
}
cout<<sum;
return 0;
}