Pagini recente » Cod sursa (job #3122399) | Cod sursa (job #2980524) | Cod sursa (job #3188319) | Cod sursa (job #2649146) | Cod sursa (job #1246050)
#include<fstream>
#include<deque>
using namespace std;
long long N,K;
ifstream in("deque.in");
ofstream out("deque.out");
int main()
{
in>>N>>K;
long elem,p=1,min_pos=1,elem_omit=0;
long long sum=0;
deque<long> dequ;
for(int i=1;i<=N-K+1;i++)
{
while(p<=K)
{
in>>elem;
while(dequ.size() && dequ.back()>=elem)
{
dequ.pop_back();
elem_omit++;
}
if(dequ.size()==0)
min_pos=min_pos+elem_omit;
dequ.push_back(elem);
p++;
}
sum+=dequ.front();
if(i==min_pos)
{
dequ.pop_front();
min_pos=min_pos + elem_omit;
}
p--;elem_omit=1;
}
out<<sum;
in.close();
out.close();
return 0;
}